Как я могу подготовить журналы или текстовые файлы для чтения MySQL с помощью Load DATA INFILE INTO? - PullRequest
0 голосов
/ 19 июля 2010

Как лучше всего подготовить файлы журналов перед вставкой их значений в базу данных MYSQL, используя

ЗАГРУЗИТЬ ИНФИЛЬ ДАННЫХ '/tmp/someFile.txt' В СТОЛ

Как я могу убедиться и подготовить файл журнала данных для чтения такой командой? Кто-то сказал мне с помощью сценариев (используя sed, grep, cat, sub ...) .. как я могу это сделать или что это за инструменты?

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

Ответы [ 2 ]

0 голосов
/ 19 июля 2010

До тех пор, пока он будет читаем как определенный тип формата CSV (разделители столбцов и строк, возможно цитирование символов и escape-символов), тогда вы готовы. Помните, что вы можете указать, в какой столбец (или без столбца) должна идти определенная часть вашего csv-файла, поэтому подготовка к этому не требуется.

В файлах журнала обычно не используются символы кавычек (должно быть хорошо, если в значениях не может быть пробелов), пробелы или символы табуляции в качестве разделителей столбцов и символы новой строки (\ n) в качестве разделителей строк.

0 голосов
/ 19 июля 2010

Вы можете использовать Excel для правильной настройки CSV-файла или даже Calc из openoffice.

У вас нет доступа к phpMyAdmin?Это сделает вашу работу немного легче.Также попробуйте поискать в Google "mysql import csv".Это должно дать вам некоторую информацию о том, как создать макет вашего файла.

Помня, что когда я делал это с помощью phpMyAdmin, ваши данные можно было использовать одним из двух способов в зависимости от настроек импорта.

column_name_1 | column_name_2 | column_name_3
value1_1      | value1_2      | value1_3
value2_1      | value2_2      | value2_3

Ваш CSV для этого будет выглядеть так:

column_name_1,column_name_2,column_name_3
value1_1,value1_2,value1_3
value2_1,value2_2,value2_3

ИЛИ

value1_1      | value1_2      | value1_3
value2_1      | value2_2      | value2_3

Надеюсь, это поможет.

...