Загрузка данных в таблицу
Cоздав таблицу, нужно позаботиться об ее заполнении. Для этого предназначены команды 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 , то набирать пришлось бы гораздо больше текста.
1 2 3 4 5 6 7
8 8 8
| |