СтатьиРабота с SQL и базами данных

Запросы SQL добавления данных (INSERT)

Добавление одной или вставка нескольких записей в таблицу БД выполняется командой INSERT. В таком запросе указываются сведения о том, в какую таблицу (в какие ее поля) какие сведения должны быть внесены. В основном виде такой запрос выглядит так:

INSERT INTO таблица(список полей) VALUES (список добавляемых значений)

Здесь, INSERT – это команда языка SQL, определяющая что запрос будет добавлять новую запись;

INTO – после этой команды указывается таблица, в которую будут добавлены данные, после указания которой в скобках перечисляются соответствующие поля этой таблицы;

VALUES – команда, после которой в скобках указываются значения, которые нужно добавить.

Например, для внесения новой записи в таблицу "Товары" (использована для примера в уроке "SQL запросы на выборку (SELECT)"), нужно будет выполнить следующий запрос:

INSERT INTO goods VALUES (5, "Вилка", 25)

В этом примере, указываются значения для всех полей таблицы в том же порядке, в котором они идут в самой таблице. Такой вариант равносилен следующему запросу, где явно указаны названия всех полей:

INSERT INTO goods (num, title, price) VALUES (5, "Вилка", 25)

Не указывать названия полей таблицы стоит только в случае, если вносимые данные будут содержать значения для всех полей том же порядке, что и таблице. Однако, чаще всего, для удобства внесения и просто для большей понятности запроса, название полей указываются. При этом можно указывать их в произвольном порядке:

INSERT INTO goods (price, title, num) VALUES (25, "Вилка", 5)

Если поле "num" таблицы содержит атрибут "auto_increment" (т.е. настроено автозаполнение новым значением, которое каждую вставку увеличивается на единицу), то можно сократить код, не указывая явно значение для этого поля:

INSERT INTO goods (title, price) VALUES ("Вилка", 25)

Так же, если какое-то поле не нужно заполнять запросом, можно не указывать его. При этом оно получит либо определенное настройками таблицы значение по умолчанию, либо нулевое значение.

Следующий запрос добавит в таблицу только запись содержащую название товара, а так же автоматически будет добавлен код товара (если поле кода товара содержит атрибут "auto_increment"):

INSERT INTO goods (title) VALUES ("Вилка")

При этом, не указанное поле "price" будет содержать нулевое значение.

При добавлении нескольких строк в БД, в запросе указывается несколько групп данных, разделенных запятой. Подробней об этом в следующей статье.


Комментарии

Имя:
Текст комментария:
* В комментариях запрещено публиковать рекламные объявления. Сообщения, содержащие ссылки на сторонние ресурсы добавляется в скрытом режиме. Они будут открыты, если не нарушают установленных правил, после проверки.
Защита от спам-роботов (* Обязателельно укажите ответ на простой вопрос ниже.)
Под каким номером в алфавите буква «Б»? (цифра)