MySQL 5.0. Библиотека программиста | страница 50



Чаще всего экранирующим символом служит обратная косая черта, и в этом случае зададим значение ESCAPED BY \\. Тогда, например, записанное в файле значение «\N» будет прочитано и загружено в базу данных как NULL. Другой пример: если значения в файле разделены запятыми, то экранирующий символ помещается перед запятой, которая должна восприниматься как часть значения, а не как разделитель, то есть последовательность символов «\,» интерпретируется как символ запятой в значении.

Если параметр FIELDS не указан, программа MySQL считает, что значения в файле разделяются табуляцией и не заключаются ни в какие кавычки, а в качестве экранирующего символа используется обратная косая черта.

• LINES – укажите этот параметр, чтобы сообщить программе MySQL, в каком формате заданы строки в файле:

– STARTING BY <Префикс строки> – укажем последовательность символов в начале каждой строки, которая должна игнорироваться программой вместе со всеми предшествующими символами. После префикса должны начинаться значения;

– TERMINATED BY <Разделитель строк> – укажем символ, которым заканчиваются строки. Например, если строки заканчиваются символом перевода строки, укажем параметр TERMINATED BY \n\', если символом возврата каретки – укажем TERMINATED BY \r\', если сочетанием этих символов – укажем TERMINATED BY \r\n\', если нулевым байтом – укажем TERMINATED BY \0.

Если параметр LINES не указан, программа MySQL считает, что строки в файле не имеют префикса и заканчиваются символом перевода строки «\n».

• IGNORE <Количество строк в начале файла> LINES – укажите этот параметр, если первые несколько строк в файле не содержат значений (иными словами, являются заголовком) и при загрузке их нужно пропустить.

• (<Список столбцов>) – перечислите столбцы таблицы, в которые будут загружаться данные. Это необходимо, если файл содержит данные не для всех столбцов таблицы или порядок следования значений в файле отличается от порядка столбцов в таблице.

• SET <Имя столбца> = <Выражение> – вы можете записывать в столбцы не только значения из файла, но и значения, вычисленные с помощью выражений. Для этого создадим одну или несколько переменных, присвоим им считанные из файла значения и запишем в столбец значение выражения, использующего эти переменные. Пусть, например, имеется таблица t1 с числовым столбцом c1 и столбцом с2 с типом TIMESTAMP. В столбец c1 нужно загрузить значение из файла, если это значение не превосходит 1000, либо NULL, если значение в файле больше 1000, а в столбец c2 при этом нужно записать текущую дату и время. Это можно сделать с помощью команды