国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

mysql load data infile 命令的數(shù)據(jù)導(dǎo)入

2024-07-24 12:38:34
字體:
供稿:網(wǎng)友

文章介紹了mysql load data infile 命令的數(shù)據(jù)導(dǎo)入,該方式比直接的insert的效率要高,按照官方的說法是要比insert語句快上20倍,有需要的朋友可參考.

使用方式如下,代碼如下:

mysql>load data local infile "D:/ab.txt" into table mytbl(name,age); 

如何load數(shù)據(jù)里面帶反斜杠(backslash)””的數(shù)據(jù),由于如果你沒有指定FIELDS子句,則默認(rèn)值為假設(shè)您寫下如下語句時(shí)的值:

FIELDS TERMINATED BY ‘t’ ENCLOSED BY ” ESCAPED BY ‘/’

所以,如果你的數(shù)據(jù)里面有反斜杠(backslash)””的時(shí)候,數(shù)據(jù)會(huì)出現(xiàn)被截?cái)嗟膯栴},出現(xiàn)這種問題,只要寫上如下的fields子句即可,代碼如下:

FIELDS TERMINATED BY ‘t’ ENCLOSED BY ” ESCAPED BY ”  

使用上述的命令就可以將D:/ab.txt文件的內(nèi)容導(dǎo)入到表mytbl中,其中name和age是表mytbl的字段,對應(yīng)ab.txt文件中每行的數(shù)據(jù),如果編譯安裝mysql時(shí)沒有指定–enable-local-infile,那么在使用上述命令時(shí)會(huì)報(bào)如下錯(cuò)誤:

ERROR 1148 (42000): The used command is not allowed with this MySQL version 

解決方式有兩種,一是重新編譯安裝加上上面的參數(shù),而是直接用命令行執(zhí)行,如下:

mysql -uroot -proot  mydb_name --local-infile=1 -e 'load data local infile "D:/ab.txt" into table mytbl(name,age)'    

測試了一把,導(dǎo)入300萬條數(shù)據(jù)時(shí),使用load data命令的時(shí)間花銷大概在3分鐘左右.

如何load的時(shí)候只insert特定的列,比如表里面有比元數(shù)據(jù)多的列,可以在load的時(shí)候指定要插入的字段名字.

示例的代碼如下:

  1. LOAD DATA INFILE '~/data.txt'    
  2. INTO TABLE fb0505    
  3. CHARACTER SET  gbk    
  4. FIELDS TERMINATED BY 't' ENCLOSED BY '' ESCAPED BY ''  
  5. LINES TERMINATED BY 'n' STARTING BY ''   
  6. (seller_id,fb_type,fb_date,item_url); 
  7. --Vevb.com 

其中表fb0505里面還有一列是id.

建的表用的是MYISAM,調(diào)整了幾個(gè)session的參數(shù)值,代碼如下:

SET SESSION BULK_INSERT_BUFFER_SIZE=256217728;

SET SESSION MYISAM_SORT_BUFFER_SIZE=256217728;

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 且末县| 炉霍县| 宁乡县| 石屏县| 天镇县| 庆阳市| 虞城县| 山东省| 深泽县| 峨眉山市| 郴州市| 新田县| 桑植县| 克拉玛依市| 翼城县| 凤山市| 兰溪市| 桓台县| 绩溪县| 延庆县| 西畴县| 广南县| 洞口县| 克山县| 垣曲县| 西峡县| 托里县| 荆门市| 安国市| 邵东县| 拉孜县| 大化| 广宗县| 新乡市| 息烽县| 安仁县| 白玉县| 锡林浩特市| 沙雅县| 麦盖提县| 开封县|