Поиск…


Синтаксис

  • 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



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow