mysql 導入txt文檔的問題

學習總結基本的MySQL數據庫導入導出操作

   在進行txt格式數據導入到mysql時,遇到了很嚴重的問題,首先創建了格式相同的數據庫表,然後我們進行數據導入,發現遇到錯誤: ERROR 1148 (42000): The used command is not allowed with this MySQL version.   當時很費解,以爲是這個版本不支持,但是後來想想發現,舊版本支持,新版本不可能不支持吧?軟件應該還是普片具有向下兼容的。然後到stackoverflow上面發現是沒有進行啓動,默認是進行關閉的。下面將基礎只是羅列一下。

mysql --local-infile -uroot -pyourpwd yourdbname


 1 表tt的格式:

CREATE TABLE `tt` (
`ind` int NOT NULL auto_increment,
`name` char(100) default NULL,
PRIMARY KEY (`ind`)
)

2 文件d.txt的內容示例:
1,a
2,b
3,c

3 導入命令:
mysql> load data infile 'd.txt' into table tt
-> fields terminated by','
-> lines terminated by'\r\n'

注意的地方:
1)、文件可以使用絕對路徑如'c:/d.txt',否則請將文件放在數據庫根目錄中
2)、因爲字段之間用了逗號隔開,所以必須fields terminated by',',否則導入失敗
3)、因爲Winsows中行以“\r\n”隔開,所以必須lines terminated by'\r\n',
如果不設置這個參數,也可導入成功,但是會多導入一個“\r”控制字符,可能在可視化
MySQL工具中看不出字段異樣,但是在MySQL命令行中顯示會明顯混亂。
4)、如果表tt非空,且文件中的ind值在表中有重複,會提示錯誤,並導入失敗。

只導入name字段,文件d.txt的內容:
a
b
c

mysql> load data infile 'd.txt' into table tt
-> lines terminated by'\r\n'
-> (name);

load data 命令還支持更復雜的文本格式、文件編碼等,可參考官方文檔。

5 導出到數據到windows文本文件時,爲了方便查看,也需要相同的設置
mysql> select * from tt into outfile 'd.txt'
-> fields terminated by','
-> lines terminated by'\r\n'


參考資料: http://stackoverflow.com/questions/10762239/mysql-enable-load-data-local-infile

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章