Поиск по сайту:

Как вставить несколько записей в SQL


Эй, ребята! В этой статье мы сосредоточимся на способах вставки нескольких строк в SQL.

Необходимость SQL Insert INTO Несколько строк запроса

Запрос SQL INSERT вставляет данные в столбцы определенной таблицы.

Обычный запрос SQL INSERT вводит значения данных в одну строку. В случае, когда мы хотим вставить данные сразу в несколько строк, этот запрос завершается ошибкой.

Таким образом, чтобы сэкономить время выполнения, нам нужно использовать SQL-запрос INSERT таким образом, чтобы он вводил данные сразу в несколько строк.

Поняв необходимость запроса SQL Insert для нескольких строк, давайте начнем с его реализации.

Традиционный запрос SQL INSERT для вставки нескольких записей

Традиционный SQL-запрос INSERT вводит входные данные в несколько строк. В этом методе нам нужно вставлять запрос столько раз, сколько мы хотим ввести данные в строки таблицы.

Основным недостатком этого запроса являются накладные расходы на выполнение каждого запроса на вставку для вставки нескольких строк.

Пример:

create table Info(id integer, Cost integer, city varchar(200));
insert into Info(id, Cost,city) values(1, 100,"Pune");
insert into Info(id, Cost,city) values(2, 50, "Satara");
insert into Info(id, Cost,city) values(3, 65,"Pune");
insert into Info(id, Cost,city) values(4, 97,"Mumbai");
insert into Info(id, Cost,city) values(5, 12,"USA");
select * from Info;

Выход:

1	100	Pune
2	50	Satara
3	65	Pune
4	97	Mumbai
5	12	USA

Запрос INSERT-SELECT-UNION для вставки нескольких записей

В предыдущем разделе мы узнали, что запрос INSERT INTO вводит несколько записей. Но если мы посмотрим на его вывод, мы узнаем, что предложение «INSERT INTO» повторяется много раз.

Таким образом, мы можем использовать запрос INSERT-SELECT-UNION для вставки данных в несколько строк таблицы.

Запрос SELECT через оператор INSERT.

create table Info(id integer, Cost integer);
INSERT INTO Info (id, Cost)  
SELECT 1, '123'  
UNION ALL   
SELECT 2, '234'  
UNION ALL  
SELECT 3, '456';  

select * from Info;

Выход:

1	123
2	234
3	456

Построение строки для вставки нескольких записей

Запрос SQL INSERT используется таким образом, что мы используем один запрос INSERT для вставки нескольких записей в одной точке выполнения.

Синтаксис:

INSERT INTO Table (columns)  
VALUES (val1, val2, valN); 

Пример:

create table Info(id integer, Cost integer,city nvarchar(200));
INSERT INTO Info (id,Cost,city)  
VALUES (1,200, 'Pune'), (2, 150,'USA'), (3,345, 'France');  

select * from Info;

Выход:

1	200	Pune
2	150	USA
3	345	France

Заключение

На этом мы подошли к концу этой темы. Здесь мы рассмотрели три различных метода вставки значений данных в несколько записей таблицы.

Пожалуйста, не стесняйтесь комментировать, если у вас возникнут какие-либо сомнения.

Дополнительные сообщения, связанные с SQL, см. на странице SQL JournalDev.

Рекомендации

  • Вставка SQL в несколько строк — StackOverFlow