Создав таблицу, нужно позаботиться об ее заполнении. Для этого
предназначены команды LOAD DATA и INSERT.
Предположим, ваши записи соответствуют приведенным в этой таблице
(обратите внимание: MySQL принимает даты в формате ГГГГ-ММ-ДД; возможно, к
такой записи вы не привыкли).
| name | owner | species | sex | birth | death |
| Fluffy | Harold | cat | f | 1993-02-04 | |
| Claws | Gwen | cat | m | 1994-03-17 | |
| Buffy | Harold | dog | f | 1989-05-13 | |
| Fang | Benny | dog | m | 1990-08-27 | |
| Bowser | Diane | dog | m | 1998-08-31 | 1995-07-29 |
| Chirpy | Gwen | bird | f | 1998-09-11 | |
| Whistler | Gwen | bird | 1997-12-09 | ||
| Slim | Benny | snake | m | 1996-04-29 |
Так как вы начинаете работу с пустой таблицей, заполнить ее будет проще всего, если создать текстовый файл, содержащий по строке на каждое из животных, а затем загрузить его содержимое в таблицу одной командой.
Создайте текстовый файл с именем pet.txt, содержащий по одной записи в
каждой строке (значения столбцов должны быть разделены символами табуляции
и даны в том порядке, который был определен командой CREATE TABLE).
Незаполненным полям (например, неизвестный пол или даты смерти живых на
сегодняшний день животных), можно присвоить значение NULL. В текстовом
файле это значение представляется символами \N. Например, запись для птицы
Whistler должна выглядеть примерно так (между значениями должны
располагаться одиночные символы табуляции):
| name | owner | species | sex | birth | death |
Whistler |
Gwen |
bird |
\N |
1997-12-09 |
\N
|
Загрузить файл pet.txt в таблицу можно с помощью следующей команды:
mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;
Маркер конца строки и символ, разделяющий значения столбцов, можно
специально задать в команде LOAD DATA, но по умолчанию используются
символы табуляции и перевода строки. Воспринимая их, команда сможет
корректно прочитать файл pet.txt.
При добавлении одиночных записей используется команда INSERT. В самом
простом варианте ее применения необходимо задать значения каждого столбца,
в том порядке, в каком они были перечислены в команде CREATE TABLE.
Предположим, Диана (Diane) купила хомячка по имени Puffball.
Соответствующую запись в таблицу с можно внести с помощью команды INSERT
примерно так:
mysql> INSERT INTO pet
-> VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
Обратите внимание на то, что здесь строковые выражения и даты представлены
в виде ограниченных кавычками строк. Кроме того, в команде INSERT
отсутствующие данные можно прямо заменять на NULL. Пользоваться эвфемизмом
\N, как в команде LOAD DATA, нужды нет.
Этот пример наглядно показывает, что если бы с самого начала все данные
вносились в базу при помощи нескольких команд INSERT, а не одной команды
LOAD DATA, то набирать пришлось бы гораздо больше текста.