Поиск…
Синтаксис
- INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
- INSERT INTO table_name (column1, column2 ...) SELECT value1, value2 ... from other_table
Вставить новую строку
INSERT INTO Customers
VALUES ('Zack', 'Smith', '[email protected]', '7049989942', 'EMAIL');
Этот оператор добавит новую строку в таблицу Customers
. Обратите внимание, что значение не было указано для столбца Id
, поскольку оно будет добавлено автоматически. Однако должны быть указаны все другие значения столбцов.
Вставить только указанные столбцы
INSERT INTO Customers (FName, LName, Email, PreferredContact)
VALUES ('Zack', 'Smith', '[email protected]', 'EMAIL');
Этот оператор добавит новую строку в таблицу Customers
. Данные будут вставлены только в указанные столбцы - обратите внимание, что для столбца PhoneNumber
не было указано PhoneNumber
. Обратите внимание, однако, что все столбцы, помеченные как not null
должны быть включены.
INSERT данные из другой таблицы с помощью SELECT
INSERT INTO Customers (FName, LName, PhoneNumber)
SELECT FName, LName, PhoneNumber FROM Employees
В этом примере в таблицу Customers будут вставляться все сотрудники . Поскольку у двух таблиц есть разные поля, и вы не хотите переместить все поля, вам нужно указать, какие поля вставлять и какие поля выбрать. Имена полей корреляции не нужно называть одной и той же, но тогда они должны быть одного и того же типа данных. В этом примере предполагается, что поле Id имеет набор идентификационных данных и будет автоматически увеличиваться.
Если у вас есть две таблицы с одинаковыми именами полей и просто хотите переместить все записи, вы можете использовать:
INSERT INTO Table1
SELECT * FROM Table2
Вставить сразу несколько строк
Несколько строк могут быть вставлены с помощью одной команды вставки:
INSERT INTO tbl_name (field1, field2, field3)
VALUES (1,2,3), (4,5,6), (7,8,9);
Для одновременного ввода больших объемов данных (объемная вставка) существуют специфические функции и рекомендации СУБД.
MySQL - LOAD DATA INFILE
MSSQL - BULK INSERT