2010-10-22 23 views
1

我有一個txt文件,裏面有很多複雜的名字,我想插入名爲cred_insurances的sql表中。該表目前是空白的。每行應該是一條記錄,名稱應該在名爲ProviderName的列中。我的文本文件是這樣的:MYSQL導入:將一個大名單列入mysql表列。一個簡單的方法?

Alabama Medicaid 
Alaska Medicaid 
Arizona Medicaid (AHCCCS) 
Arkansas Medicaid 
California Medicaid 
Colorado Medicaid 
Colorado Medicare 
Connecticut Medicaid 
Delaware Medicaid 
Florida Medicaid 
ETC...BLAH BLAH BLAH 

我想在做某種上也許能前,每個名稱後,這樣我可以貼吧都放在正確的SQL語法的文本文件替換功能的在提示,但似乎相當多。必須有一個更簡單的方法來做到這一點。

我認爲,每行一個命令是這樣的:

INSERT INTO cred_insurances (ProviderName) values ("Alabama Medicaid"); 

回答

2

以下應該工作,假設你的線條由CRLF分隔(\看看文檔,以獲得正確的語法r \ n):

LOAD DATA INFILE 'mydata.txt' INTO TABLE cred_insurances 
    FIELDS TERMINATED BY '' 
    LINES TERMINATED BY '\r\n' (ProviderName); 
+1

這工作除了我不得不在「INFILE」之前插入「本地」,以避免權限問題。謝謝! – 2010-10-22 16:46:07

0

LOAD DATA INFILE 'data.txt中' INTO TABLE cred_insurances (的ProviderName)

(您可根據需要,鼓搗如果它忽略空間後的東西,但這應該工作)

0

確實有一種更容易的方法來從文本文件批量導入數據,比許多插入也快得多。

沿着這些方向的東西 LOAD DATA INFILE'data.txt'INTO TABLE cred_insurances;

,如果您使用分隔選項卡或空間等

LOAD DATA LOCAL INFILE