近日有一文本文件,數(shù)據(jù)格式是以tab分割。數(shù)據(jù)量有數(shù)千萬(wàn)條數(shù)據(jù),需要導(dǎo)入mysql數(shù)據(jù)庫(kù)中,通過(guò)傳統(tǒng)的方式進(jìn)行拷貝到數(shù)據(jù)庫(kù)中,需要花費(fèi)很多天時(shí)間,中間也會(huì)出現(xiàn)很多錯(cuò)誤,未必能導(dǎo)入成功。
使用:load data local infile "本地路徑" into table 表名命令方式進(jìn)行導(dǎo)入,10w條數(shù)據(jù)也只需要花費(fèi)幾秒鐘時(shí)間,可中文無(wú)法導(dǎo)入。
仔細(xì)分析了一下:
建庫(kù)時(shí)采用utf8編碼,表也是utf8編碼。對(duì)中文應(yīng)該是支持的。排除數(shù)據(jù)庫(kù)的問(wèn)題。
只能從要導(dǎo)入的文本文件考慮,將其編碼用ultraEdit轉(zhuǎn)換編碼為utf8后,進(jìn)行導(dǎo)入,成功導(dǎo)入。數(shù)據(jù)也沒(méi)有出現(xiàn)錯(cuò)誤。
也可以采用select * from 表名 into outfile "c:\\stu_t.txt" lines terminated by '\r\n';進(jìn)行查詢(xún),導(dǎo)出。