LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE '' [REPLACE | IGNORE] INTO TABLE [CHARACTER SET ] [{FIELDS | COLUMNS} [TERMINATED BY ''] [[OPTIONALLY] ENCLOSED BY ''] [ESCAPED BY ''] ] [LINES [STARTING BY ''] [TERMINATED BY ''] ] [IGNORE LINES] [(,...)] [SET = ,...]file_nametbl_namecharset_namestringcharcharstringstringnumbercol_name_or_user_varcol_nameexpr
MySQL寫入數據一般用insert語句,如windows
[c-sharp] view plain copyapp
但有時爲了更快速地插入大批量數據或交換數據,須要從文本中導入數據或導出數據到文本。
1、 創建測試表,準備數據
首先創建一個用於測試的表示學生信息的表,字段有id、姓名、年齡、城市、薪水。Id和姓名不
能爲空。測試
[c-sharp] view plain copyspa
建立表截圖以下:
接着寫一個用於導入的文本文件:c:/data.txt。
張三 31 北京 3000
李四 25 杭州 4000
王五 45 /N 4500
小明 29 天津 /N
每一項之間用Tab鍵進行分隔,若是該字段爲NULL,則用/N表示。
2、 導入數據
輸入命令,進行導入。 操作系統
[c-sharp] view plain copy.net
導入數據截圖以下:
其中local表示本地。執行後,能夠看到NULL數據也被正確地導入。
3、 導出數據
如今將這個表導出爲文本文件:c:/data_out.txt。code
[c-sharp] view plain copyblog
導出數據截圖以下:
其中lines terminated by 「/r/n」表示每一行(即每一條記錄)用/r/n分隔,/r/n是window系
統的換行符。導出的data_out.txt與data.txt的內容徹底同樣。
4、 運行環境
Windows vista home basic
MySQL 5.1.34-community
5、 注意
字段之間的分隔和記錄(行)之間的分隔默認是/t(即Tab)和/n。但能夠改變,如:
FIELDS TERMINATED BY ',' --字段用,進行分隔
LINES TERMINATED BY ';' --記錄用; 進行分隔
另外要注意其它操做系統的換行符與windows可能不相同。ip