MySQL 5.0. Библиотека программиста | страница 48
Загрузка данных из файла
Если требуется добавить в таблицу большой массив данных, удобно использовать для этого команду загрузки данных из файла. Загрузка из файла выполняется программой MySQL значительно быстрее, чем вставка строк с помощью команды INSERT.
Например, чтобы загрузить данные в таблицу Customers (Клиенты), команда создания которой показана в листинге 2.2, выполните следующие действия.
1. Запустите стандартную программу Windows Блокнот (Пуск → Все программы → Стандартные → Блокнот).
2. В окне программы Блокнот введите данные, используя для отделения значений друг от друга клавишу Tab, а для перехода на следующую строку – клавишу Enter (рис. 2.5).
Рис. 2.5. Ввод данных в текстовый файл
Примечание
Вместо отсутствующего значения необходимо при заполнении файла ввести символы «\N». Тогда в базу данных будет загружено неопределенное значение (NULL).
3. Для сохранения файла с данными нажмите комбинацию клавиш Ctrl+S. В стандартном окне Windows Сохранить как выберите папку, в которую нужно поместить файл (например, C: \data). Введите имя файла (например, Customers. txt) и нажмите кнопку Сохранить.
4. Для загрузки данных из созданного файла выполните команду
LOAD DATA LOCAL INFILE \'C:/data/Customers.txt\'
INTO TABLE Customers
CHARACTER SET cp1251;Обратите внимание, что в пути к файлу необходимо использовать прямую косую черту, а не обратную.
Файл Customers.txt мы создали в формате, принятом по умолчанию в MySQL, поэтому при загрузке потребовалось указать только один дополнительный параметр – кодировку Windows.
Однако если вам нужно загрузить в таблицу данные из текстового файла, который был создан в другом формате (например, выгружен из другой базы данных), могут потребоваться и другие параметры. Полностью команда LOAD DATA имеет следующий вид:LOAD DATA [LOCAL] INFILE \'Путь и имя файла\'
[REPLACE или IGNORE]
INTO TABLE <Имя таблицы>
CHARACTER SET <Имя кодировки>
[
FIELDS
[TERMINATED BY <Разделитель значений в строке>]
[[OPTIONALLY]
ENCLOSED BY <Символ, в который заключены значения>]
[ESCAPED BY <Экранирующий символ>]
]
[
LINES
[STARTING BY <Префикс строки>]
[TERMINATED BY <Разделитель строк>]
]
[IGNORE <Количество строк в начале файла> LINES]
[(<Список столбцов>)]
[SET <Имя столбца> = <Выражение>,…];В этой команде вы можете использовать следующие параметры.
• LOCAL – укажите этот параметр, если файл с данными находится на клиентском компьютере (то есть на том компьютере, где работает клиентское приложение, в котором вы и вводите эту команду). Если файл расположен на компьютере, где работает сервер MySQL, параметр LOCAL указывать не нужно.