国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 平遥县| 雷波县| 平阳县| 古田县| 洞头县| 汶川县| 怀柔区| 封丘县| 孟村| 奉贤区| 鲁甸县| 达州市| 乌拉特中旗| 凤城市| 高唐县| 武宣县| 洮南市| 正定县| 武隆县| 中方县| 德兴市| 济源市| 宽城| 襄汾县| 高青县| 广汉市| 铜梁县| 名山县| 剑阁县| 三门峡市| 雷州市| 营口市| 子长县| 大足县| 凤阳县| 商南县| 嘉荫县| 博湖县| 昔阳县| 大名县| 台南市|