2013-08-19 57 views
1

我有35個CSV文件,我想將其導入MYSQL表(例如'測試')。我想在'test'表中創建一列(比如'file_name')。此列將包含從中導入數據的CSV的名稱。文件名是唯一的ID,這就是爲什麼我想要在表中獲取文件名作爲輸入。將CSV文件導入到MySql表中,其中一列用作CSV文件的名稱

假設我有像X1.csv,X2.CSV,X3.csv .... X35.csv的CSV文件。我想在 '測試' 表作爲 'FILE_NAME' 一欄,使得 '測試' 表看起來像:


COL1 - > A,B,C,d

COL2 - > X,Y ,W,Z

... ...

......

FILE_NAME - > X1,X1,X2,X3


注:我試圖在論壇上搜索這個問題,但我找不到任何合適的解決方案。另外我是MYSQL的新手,請幫助,即使這是一件微不足道的事情。

回答

0

我不知道這是正是你正在尋找什麼,但乍一看,你應該調查LOAD DATA INFILE聲明:

LOAD DATA INFILE 'X1.csv' INTO TABLE tbl_name -- Load the content of the CSV file 
    FIELDS TERMINATED BY ',' ENCLOSED BY '"' -- assuming fields separate by ",", enclosed by "'" 
    LINES TERMINATED BY '\r\n'     -- assuming end-of-line being '\r\n' 
    IGNORE 1 LINES        -- assuming first line is a header and should be ignored 
    SET file_name = 'X1';      -- force the column `file_name` to be the name of the file 

請注意,這樣的說法,每個將在其自己的的表中。並且CSV數據文件的每一行將在表格中加載一行。這意味着結果表中將有多行具有相同的文件名。實際上每條數據線一行。