SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 25.04.2007 14:49:27

ady
Завсегдатай
Зарегистрирован: 02.04.2007
Сообщений: 38

Как загрузить CSV в базу

Можно ли по-простому загрузить данные в CSV формате (данные, в строках, разделенные ",") в базу?

Нет ли готовых утилиток (с настройками)?

Неактивен

 

#2 25.04.2007 18:03:28

ady
Завсегдатай
Зарегистрирован: 02.04.2007
Сообщений: 38

Re: Как загрузить CSV в базу

Неактивен

 

#3 25.04.2007 18:25:05

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Как загрузить CSV в базу

Да, Вы правильно ответили на свой вопрос smile

Для CSV (именно запятые, Excel иногда экспортирует с разделителем ";")
настройки будут следующие (для случая UNIX, lines-terminated-by указывать
не нужно, значение по-умолчанию подойдет).

mysqlimport -c "column1,column2" --local --fields-terminated-by="," --lines-terminated-by="\\r\\n" tablename.csv

Двойные \\ использованы для того, чтобы bash не обработал их. Название
файла должно совпадать с названием таблицы.

Вообще, mysqlimport является оболочкой для команды LOAD DATA INFILE.
Лично я предпочитаю использовать ее, так не нужно задумываться о
правильном количестве обратных слешей и о названии файла:

LOAD DATA LOCAL INFILE 'datafile.csv'
INTO TABLE tablename
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
(column1, column2)

Если Вы приведете пример конкретных данных, можно будет написать
запрос, который будет подходить лично Вам.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson