2012-03-04 4 views
3

У меня есть CSV-файл со следующей структурой:Как я могу импортировать данные из CSV в MySQL?

A BA0011 U206 NAME 0000000000000149.00  000000.00 0000000000000118.93 S N N 
    A BB0011 U206 NAME 0000000000000150.00  000000.00 0000000000000118.93 S N N 
    A BC0011 U206 NAME 0000000000000151.00  000000.00 0000000000000118.93 S N N 
    A BD0011 U206 NAME 0000000000000152.00  000000.00 0000000000000118.93 S N N 
    A BE0011 U206 NAME 0000000000000153.00  000000.00 0000000000000118.93 S N N 

Использование следующей MySQL Функцией Как я могу импортировать первый и третий столбец в MySQL таблице:

LOAD DATA INFILE 'data.csv' INTO TABLE tbl_name 
    FIELDS TERMINATED BY \t' ENCLOSED BY '"' 
    LINES TERMINATED BY '\r\n' 
    IGNORE 1 LINES; 

Извиняюсь за мой английский!

Заранее благодарен!

+0

См. Механизм хранения CSV http://dev.mysql.com/doc/refman/5.6/en/csv-storage-engine.html для дополнительного удовольствия. – biziclop

ответ

6

Вы можете указать столбцы и отметить ненужные столбцы как «@dummy».

LOAD DATA INFILE 'data.csv' 
INTO TABLE t1 
(column1, @dummy, column2, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy) 
FIELDS TERMINATED BY '\t' ENCLOSED BY 
LINES TERMINATED BY '\r\n' 
IGNORE 1 LINES; 

Заменить t1, column1 и column2, как вам нравится. Для того, чтобы установить другие столбцы, которые не находятся в файле данных, вы можете сделать это следующим образом:

LOAD DATA INFILE 'data.csv' 
INTO TABLE t1 
(column1, @dummy, column2, @dummy, @val, @dummy, @dummy, @dummy, @dummy, @dummy) 
FIELDS TERMINATED BY '\t' ENCLOSED BY 
LINES TERMINATED BY '\r\n' 
IGNORE 1 LINES 
SET column3 = "test", column4 = CURRENT_TIMESTAMP, column5 = @val/10; 

Для дальнейшей ссылки, я рекомендую вам взглянуть на MySQL reference.

+0

Если вы должны использовать этот код, таблица должна содержать все поля, которые находятся в файле. – dido

+0

@dilyan_kn Я добавил пример, который определяет некоторые дополнительные столбцы. – SecStone

+0

где shd быть data.csv putted? –

0

Возможно, вы можете импортировать его в таблицу со всеми столбцами (в соответствии с CSV), а затем выбрать-вставить ее в свою целевую таблицу?

Смежные вопросы