Добавить в корзинуПозвонить
Найти в Дзене
IT_WORLD BLOG

Загрузка данных из файла в MySQL(Урок 10)

В этом уроке мы рассмотрим как загружать данные из файла в MySQL. И так преступим: Для того чтобы загрузить данные из файла он должен соответствовать правилам MySQL: 1. Делать отступы надо только с помощью кнопки Tab. 2. Переходить на следующею строку нужно только с помощью кнопки Enter. 3. Использовать файлы DOC, DOCX, XLS, или форматы LibreOffice а также OpenOffice не рекомендуется так как могу быть лишние проблемы. 4. Можно спокойно использовать только формат TXT. И так перейдем к файлу который уже подготовлен к загрузки в формате TXT: Данные файла: Предмет1 география
Предмет2 история
Предмет3 музыка Синтаксис команды для загрузки файлов выглядит так: LOAD DATA LOCAL INFILE <'ПУТЬ К ФАЙЛУ НА КОМПЬЮТЕРЕ'>
INTO TABLE <ТАБЛИЦА КУДА ХОТИМ ЗАГРУЗИТЬ ДАННЫЕ>
CHARACTER SET <КОДИРОВКА ФАЙЛА>; Пример использования: LOAD DATA LOCAL INFILE '/home/vlad/urok'
INTO TABLE UROK1
CHARACTER SET utf8; Для того чтобы разрешить загружать локальные файлы нужно в конфигурационный файл my.cnf для

В этом уроке мы рассмотрим как загружать данные из файла в MySQL. И так преступим:

Для того чтобы загрузить данные из файла он должен соответствовать правилам MySQL:

1. Делать отступы надо только с помощью кнопки Tab.

2. Переходить на следующею строку нужно только с помощью кнопки Enter.

3. Использовать файлы DOC, DOCX, XLS, или форматы LibreOffice а также OpenOffice не рекомендуется так как могу быть лишние проблемы.

4. Можно спокойно использовать только формат TXT.

И так перейдем к файлу который уже подготовлен к загрузки в формате TXT:

Данные файла:

Предмет1 география
Предмет2 история
Предмет3 музыка

Файл с данными
Файл с данными

Синтаксис команды для загрузки файлов выглядит так:

LOAD DATA LOCAL INFILE <'ПУТЬ К ФАЙЛУ НА КОМПЬЮТЕРЕ'>
INTO TABLE <ТАБЛИЦА КУДА ХОТИМ ЗАГРУЗИТЬ ДАННЫЕ>
CHARACTER SET <КОДИРОВКА ФАЙЛА>;

Пример использования:

LOAD DATA LOCAL INFILE '/home/vlad/urok'
INTO TABLE UROK1
CHARACTER SET utf8;

Загрузка данных в таблицу MySQL
Загрузка данных в таблицу MySQL

Для того чтобы разрешить загружать локальные файлы нужно в конфигурационный файл my.cnf для разрешения данной операции как для клиента так и для сервера, прописать следующие строчки:

[mysqld]
local-infile

[mysql]
local-infile

Примечание:

нельзя указывать ~ в пути к файлу иначе он будет выдавать ошибку нет такого файла или каталога.

Это мы рассмотрели если файл полностью соответствует правилам MySQL, сейчас рассмотрим когда не соответствует:

Основные параметры для загрузки файла когда файл не соответствует:

•LOCAL этот параметр для загрузки файла который находится на локальном компьютере или клиентском компьютере, если вы хотите загрузить файл где работает сервер MySQL то этот параметр не нужно указывать.

•REPLACE или IGNORE это параметр используется если вы хотите не добавлять определенную строку в таблицу или первичный ключ а также индекс.

•FAILDES этот параметр используется для задания формата значений в файле.

•TERMINATED BY<разделитель значений в строке> этот параметр используется для определения табуляции в файле принимает три значения /t / , также этот параметр может использоваться для указания символа которым заканчиваются строки.

•ENCLOSED BY <Символ в который обернут текст или число> этот параметр используется для указания символа в который заключен текст, если это одинарные кавычки то указываем / если только символьные значения обернуты то указываем OPTIONALLY ENCLOSED BY /

•ESCAPED BY <экранирующий символ> Этот параметр используется для сообщения MySQL что следующий символ особенный и требует особого подхода а именно это обычный символ а экранирующий символ обрабатываться как будто это обычный символ, обычно в качестве экранирующего символа используется //.

•STARTING BY<префикс строки> этот параметр используется для указания префикса строки после которого пойдет значение, все что находится до префикса все будет проигнорировано.

•LINES этот параметр указывается для указания MySQL в какой формате строки в файле.

•SET используется для того чтобы из файла доставать значения вычислительными выражениями, например операция складывания и так далее.

синтаксис команды:

LOAD DATA [LOCAL] INFILE <'ПУТЬ ДО ФАЙЛА'>
[IGNORE]
INTO TABLE <НАЗВАНИЕ ТАБЛИЦЫ>
CHARACTER SET <КОДИРОВКА>
[
FAILDES
[TERMINATED BY <РАЗДЕЛИТЕЛЬ ЗНАЧЕНИЙ В СТРОКЕ>]
]
[
LINES
[TERMINATED BY <РАЗДЕЛИТЕЛЬ СТРОК>]
]
;

Пример использования:

LOAD DATA LOCAL INFILE '/home/vlad/urok'
IGNORE
INTO TABLE UROK1
CHARACTER SET utf8
;

Загрузка данных которые не соответствуют
Загрузка данных которые не соответствуют