Оператор INSERT в SQL
В этой статье вы научитесь добавлять новые записи в базу данных с помощью SQL.
В предыдущей статье мы создали таблицу person
в базе данных demo
. Теперь пришло время вставить в нее данные.
Для этого воспользуемся оператором INSERT INTO
— он позволяет вставлять новые строки в таблицу базы данных.
Синтаксис
Основной синтаксис для вставки данных в таблицу выглядит так:
INSERT INTO имя_таблицы (столбец1,столбец2,...) VALUES (значение1,значение2,...);
Здесь столбец1
, столбец2
и т.д. — названия столбцов таблицы, а значение1
, значение2
и т.д. — соответствующие значения для этих столбцов.
Вставляем записи в таблицу
Давайте теперь вставим несколько записей в таблицу persons
.
Шаг 1. Узнать структуру таблицы
Перед добавлением записи неплохо бы знать, что из себя таблица вообще представляет — чтобы понимать, куда вставлять.
Выполните следующую команду в командной строке MySQL. Она отобразит информацию о столбцах в таблице persons
, т.е. имя столбца, тип данных, ограничения и т.д.
mysql> DESCRIBE persons;
Примечание. Оператор
DESRIBE
работает в базах данных MySQL и Oracle. Для SQL Server используйте командуEXEC sp_columns имя_таблицы;
Шаг 2. Добавить записи в таблицу
Следующая команда вставляет новую строку в таблицу persons
.
INSERT INTO persons (name, birth_date, phone) VALUES ('Сергей Емельянов', '1990-07-15', '0711-020361');
Обратит внимание, что мы не указали значения для поля id
. Этого не требуется, потому что в статье о создании таблицы мы пометили поле id флагом AUTO_INCREMENT
— он указывает MySQL автоматически присваивать значение этому полю, если его явно не указали.
Примечание. Нечисловые значения, такие как строки и даты, всегда нужно заключать в парные кавычки. А числовые значения — наоборот, должны быть без кавычек.
Давайте теперь аналогичным образом вставим еще одну строку в таблицу persons
, как показано ниже:
INSERT INTO persons (name, birth_date, phone) VALUES ('Юрий Петров', '1995-05-01', '0251-031259');
И еще одну строку в таблицу persons
:
INSERT INTO persons (name, birth_date, phone) VALUES ('Виктория Абрамова', '1996-10-17', '0695-346721');
Теперь, если вы выведете все записи из таблицы persons
, увидите такую картину:
+----+--------------------+------------+-------------+ | id | name | birth_date | phone | +----+--------------------+------------+-------------+ | 1 | Сергей Емельянов | 1990-07-15 | 0711-020361 | | 2 | Юрий Петров | 1995-05-01 | 0251-031259 | | 3 | Виктория Абрамова | 1996-10-17 | 0695-346721 | +----+--------------------+------------+-------------+