Это вторая часть, в которой будут описаны способы вставки данных в таблицы.
Первая часть доступна тут>>> — в ней описаны общие возможности при работе с MySQL, полезные команды и некоторые функции. Так же, в первой части описан процесс создания таблиц и типы используемых в ней столбцов.
Содержание
Методы вставки данных
Для добавления данных в таблицы используются несколько методов:
с помощью оператора INSERT и значения VALUES;
с помощью оператора INSERT и значения SET;
с помощью оператора LOAD DATA;
с помощью утилиты mysqlimport из файла, в консоли сервера.
Добавление с помощью оператора с помощью утилиты INSERT VALUES
Оператор INSERT имеет следующий синтаксис:
INSERT INTO tablename VALUES(value1, value2, value3…)
Порядок указания параметров VALUES должен соответствовать порядку столбцов в таблице, проверить которые можно командой:
mysql> desc tablename;
Выделять значения можно как двойными кавычками » «, так и одинарными — ‘ ‘. Столбцы, имеющие атрибут AUTO_INCREMENT заполняются значением NULL. Можно использовать множественный ввод для разных строк одной таблицы, указав значения через запятую:
INSERT INTO tablename VALUES(value1, value2, value3…), (value4, value5, value6…);
Для первого примера — используем созданную в первой части статьи таблицу main_list и добавим в неё такие данные:
Однако, с помощью оператора SET нельзя вставлять несколько строк, в отличии от схемы INSERT VALUES.
Больше про оператор INSERT можно прочитать тут>>>.
Добавление из файла с помощью LOAD DATA
Столбцы в файле должны быть разделены табуляцией (не пробелом!). Использовать кавычки не нужно. Значения VALUES располагаются как и при обычном методе INSERT VALUES — по очереди имеющихся столбцов в таблице.
Например — содержимое файла main_list.txt:
cat main_list.txt
INSERT INTO main_list VALUES(NULL Alexandr Gool +380675556677 Kiev NULL NULL 222555888 NULL Y );
INSERT INTO main_list VALUES(NULL Vladimir Trestor +380977778899 Kiev NULL NULL NULL NULL Y );
Выполним запрос:
mysql> LOAD DATA LOCAL INFILE «main_list.txt» into TABLE main_list;
Query OK, 2 rows affected, 7 warnings (0.00 sec)
Records: 2 Deleted: 0 Skipped: 0 Warnings: 7
Если сервер выдал ошибку такого плана:
ERROR 1148 (42000): The used command is not allowed with this MySQL version
Добавьте в конфигурационный файл сервера MySQLmy.cnf в блок [client] строку:
local-infile=1
и перезапустите сервер.
Больше информации о LOAD DATA INFILE можно найти тут>>>.
Добавление из файла с помощью mysqlimport
Фактически, mysqlimport просто выполняет оператор LOAD DATA на сервере.
Требования к файлу такие же, как и при использовании LOAD DATA и были описаны выше.
—debug-info использовать не обязательно, тут он просто для примера.