Оператор INSERT INTO используется для вставки новых строк в таблицу. Например:
1 2 3 |
INSERT INTO Customers(customer_id, first_name, last_name, age, country) VALUES (5, 'Harry', 'Potter', 31, 'USA'); |
Здесь мы вставляем новую строку с указанными значениями в таблицу Customers.
Примечание: Если нужно вставить данные из другой существующей таблицы, следует использовать команду INSERT INTO SELECT.
В таблице поле с идентификатором обычно является уникальным и автоматически увеличивается на единицу. В таких случаях мы можем не указывать значение для этого столбца при вставке строки. Например:
1 2 3 |
INSERT INTO Customers(first_name, last_name, age, country) VALUES ('James', 'Bond', 48, 'USA'); |
Здесь SQL автоматически устанавливает новый customer_id для новой строки и вставляет его в таблицу.
Вставить сразу несколько строк
Можно вставить сразу несколько строк в таблицу. Например:
1 2 3 4 5 |
INSERT INTO Customers(first_name, last_name, age, country) VALUES ('Harry', 'Potter', 31, 'USA'), ('Chris', 'Hemsworth', 43, 'USA'), ('Tom', 'Holland', 26, 'UK'); |
Здесь мы вставляем три строки в таблицу Customers.
Вставка строк без указания имен столбцов
Можно вставлять значения без указания имен столбцов. Например:
1 2 3 |
INSERT INTO Customers VALUES (5, 'Chris', 'Evans', 42, 'USA'); |
Здесь мы вставляем новую строку в столбец, указав при этом корректный порядок значений.
Примечание: Если явно не указывать имена столбцов, то порядок значений в SQL-запросе должен соответствовать порядку столбцов в таблице.
Пропуск значений при вставке строки
Если пропустить имена столбцов во время вставки строки, то значениями этих столбцов будет NULL.
1 2 3 |
INSERT INTO Customers(first_name, last_name, age) VALUES ('Brad', 'Pitt', 58); |
Здесь значением столбца country (последний столбец, который мы пропустили) будет NULL
. Однако столбец с идентификатором (customer_id) по-прежнему будет увеличен на единицу из-за принципа автоматического инкремента, о котором мы говорили выше.
Примечание: Если нулевые значения являются недопустимыми для столбца, то SQL-запрос приведет к ошибке.