3.3. Создание и использование базы данных
3.3.3. Загрузка данных в таблицу
Создав таблицу, нужно позаботиться об ее заполнении. Для этого предназначены команды 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 , то набирать пришлось бы гораздо больше текста.
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|