536.00K
Категория: Базы данныхБазы данных

Импорт и экспорт данных. Лекция 1

1.

Импорт и экспорт данных
EPAM POWER POINT TITLE
Sub Topic
®®2005.
2007.EPAM
EPAMSystems.
Systems.All
Allrights
rightsreserved.
reserved.

2.

Импорт CSV-файла в таблицу MySQL
Оператор LOAD DATA INFILE позволяет считывать
данные из текстового файла и очень быстро
импортировать их в таблицу базы данных.
Перед импортом файла, вам необходимо подготовить
следующее:
• Таблицу базы данных, в которую будут
импортированы данные из файла;
• CSV-файл с соответствующим числом столбцов и
соответствующим форматом данных в каждом
столбце;
• Учетную запись пользователя, который подключается
к серверу базы данных MySQL и имеет
привилегии FILE и INSERT.

3.

Импорт CSV-файла в таблицу MySQL

4.

Импорт CSV-файла в таблицу MySQL

5.

Импорт CSV-файла в таблицу MySQL

6.

Экспорт результатов запроса в файл
Задача
Вы хотите экспортировать результаты запроса из MySQL в файл или в другую программу.
Решение
Воспользуйтесь предложением SELECT ... INTO OUTFILE или перенаправьте вывод
программы mysql.
Обсуждение
В MySQL можно использовать предложение SELECT ... INTO OUTFILE для вывода результатов
запроса непосредственно в файл на хосте сервера. Если же вы хотите получить результат на
клиентском хосте, то есть другая возможность:
перенаправить вывод программы mysql. У каждого из этих методов есть свои сильные и
слабые стороны, поэтому вам следует познакомиться с обоими и использовать тот, который
больше подходит в конкретной ситуации.
Экспорт с помощью SELECT ... INTO OUTFILE
Здесь используется обычное предложение SELECT, к которому добавлена конструкция INTO
OUTFILE имя_файла. Формат вывода по умолчанию тот же, что и для LOAD DATA, так что
следующее предложение экспортирует таблицу passwd в файл /tmp/passwd.txt с символами
TAB и LF в качестве разделителей полей и строк:
mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/passwd.txt';

7.

Экспорт результатов запроса в файл
Чтобы экспортировать таблицу passwd в формате CSV с разделением строк символами CRLF,
используйте такое предложение:
mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/passwd.txt'
-> FIELDS TERMINATED BY ',' ENCLOSED BY '"'
-> LINES TERMINATED BY '\r\n';
Предложение SELECT ... INTO OUTFILE обладает следующими свойствами:
• Выходной файл создается непосредственно сервером MySQL, поэтому имя файла должно
соответствовать его желаемому расположению на серверном хосте. Не существует локальной
версии этого предложения, аналогичной LOAD DATA LOCAL.
• Для выполнения предложения SELECT ... INTO необходима привилегия FILE в MySQL.
• Нельзя использовать уже существующий файл. Это предохраняет от потери файлов,
возможно, содержащих важную информацию.
• Вам потребуется учетная запись на сервере или другой способ для получения файла с этого
хоста. Иначе предложение SELECT ... INTO OUTFILE окажется для вас бесполезным.
• В UNIX файл создается доступным для чтения всем, а его владельцем является сервер
MySQL. Это означает, что, хотя вы и сможете прочитать его, у вас может не оказаться прав на
его удаление.
English     Русский Правила