В MySQL для добавления записей в таблицу используется команда INSERT.
Для того, что бы ответить на вопрос: Как добавить запись в таблицу MySQL ?
Рассмотрим общий синтаксис команды INSERT. А после этого разберем на примерах добавление данных в таблицу.
Синтаксис команды выглядит следующим образом:
Вариант № 1
1 2 3 |
INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES (expression,...),(...),... |
Вариант № 2
1 2 3 |
INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] tbl_name SET col_name=expression, col_name=expression, ... |
Вариант № 3
1 2 3 |
INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] tbl_name [(col_name,...)] SELECT ... |
Общие положения работы команды INSERT:
tbl_name
— Задает имя таблицы, в которую будет вставлена новая строка. На момент запуска команды INSERT таблица с таким именем должна существовать в базе данных.
LOW_PRIORITY
— Если указан этот параметр, то вставка новой записи будет отложена до тех пор, пока другие сценарии не закончат чтение из этой таблицы. Надо отметить, что если таблица часто используется, то при указании этого параметра может пройти достаточно много времени, прежде чем данная команда будет выполнена.
DELAYED
— Если указан этот параметр, то после выполнения команды INSERT сценарий сразу же получит ответ от БД о успешной вставке новой записи, а запись будет вставлено только после завершения использования данной таблицы другим сценарием. Это может быть удобно, если требуется высокая скорость работы скрипта. Данный параметр работает только с таблицами типа ISAM и MyISAM. Следуем отметить, что если таблица, в которую происходит вставка записи, в данный момент не используется другими запросами, то команда INSERT DELAYED будет работать медленнее, нежели INSER. Так что рекомендуется использовать параметр DELAYED только при большой нагрузке на таблицу.
IGNORE
— Если некоторые поля таблицы имеют ключи PRIMARY или UNIQUE, и производится вставка новой строки, в которой эти поля имеют дублирующее значение, то действие команды аварийно завершается и выдается ошибка №1062 («Duplicate entry ‘val’ for key N»). Если в команде INSERT указано ключевое слово IGNORE, то вставка записей не прерывается, а строки с дублирующими значениями просто не вставляются.
Рассмотрим простой пример добавления данных в таблицу MySQL подробнее.
Как добавить запись в таблицу MySQL ?
Исходные данные:
У нас уже есть работающая MySQL в которой создана база данных и в ней создана таблица с именем ‘my_table’ и в таблице созданы поля: ‘ID’, ‘name’, ‘surname’, ‘bithday’, где:
- ID — порядковый номер записи;
- name — имя пользователя;
- surname — фамилия;
- bithday — день рождения.
Обратите внимание !
Название таблицы и полей береме в косые кавычки:
1 |
`my_table` |
Значения ключей, кроме чисел и ID в прямые ковычки:
1 |
'Петр' |
Возвращаемся к нашему примеру.
В нашем случае синтаксис будет выглядеть:
Для добавления одной записи в таблицу:
1 2 |
INSERT INTO `my_table` (`ID`, `name`, `surname`, `birthday`) VALUES (1, 'Петр', 'Петрович', '1990-10-03'); |
Для добавления нескольких записей в таблицу:
1 2 3 4 |
INSERT INTO `my_table` (`ID`, `name`, `surname`, `birthday`) VALUES (1, 'Петр', 'Петрович', '1990-10-03'), VALUES (2, 'Иван', 'Иваночич', '1990-11-04'), VALUES (3, 'Семен', 'Семеныч', '1990-08-22'); |
Для каждой из записи отдельным запросом:
1 2 3 4 5 6 |
INSERT INTO `my_table` (`ID`, `name`, `surname`, `birthday`) VALUES (1, 'Петр', 'Петрович', '1990-10-03'); INSERT INTO `my_table` (`ID`, `name`, `surname`, `birthday`) VALUES (2, 'Иван', 'Иваночич', '1990-11-04'); INSERT INTO `my_table` (`ID`, `name`, `surname`, `birthday`) VALUES (3, 'Семен', 'Семеныч', '1990-08-22'); |
Добавляем запись в таблицу через терминал
В моем случае это VPS с установленой Ubuntu 16.04 server
Подключаемся к MySQL:
1 |
mysql -u user -p |
Смотрим список баз данных:
1 |
show databases; |
Выбираем базу для работы:
1 |
use my_database; |
Смотрим список таблиц в базе данных:
1 |
show tables; |
Добавляем данные в таблицу (как на примере выше):
1 2 |
INSERT INTO `my_table` (`ID`, `name`, `surname`, `birthday`) VALUES (1, 'Петр', 'Петрович', '1990-10-03'); |
Смотрим, какие данные у нас есть в таблице:
1 |
select * from my_table; |
Выходим из MySQL:
1 |
quit; |
Отвечаем на вопрос:
Как добавить запись в таблицу MySQL ?
Как оказалось нет ничего проще 🙂
Для удобство работы с базами данных MySQL есть отличные программы. Для примера использую MySQL Workbench в десктопной версии Xubuntu 16.04
Удачи!