Mysql必读mysql load data infile 的用法(40w数据 用了3-5秒导进
《Mysql必读mysql load data infile 的用法(40w数据 用了3-5秒导进mysql)》要点: MYSQL数据库如果是导入有中文的数据,我的mysql?设置的utf8?字符集,所以你要导入的xxx.txt?文件也要保存utf-8的字符集,命令?load?data?infile?"d:/Websites/Sxxxx/test1.txt"?ignore?into?table?`names`?fields?terminated?by?','?enclosed?by?'"'; MYSQL数据库不知道用replace?这个关键字的话,还是会乱码..不同、等高手回答. MYSQL数据库在详细的介绍,推荐大家去看mysql手册去吧、里面介绍的很详细、 MYSQL数据库在使用LOAD?DATA到MySQL的时候,有2种情况:? MYSQL数据库(1)在远程客户端(需要添加选项:--local-infile=1)导入远程客户端文本到MySQL,需指定LOCAL(默认就是ignore),加ignore选项会放弃数据,加replace选项会更新数据,都不会出现唯一性约束问题.? MYSQL数据库(2)在本地服务器导入本地服务器文本到MySQL,不指定LOACL,出现唯一性约束冲突,会失败回滚,数据导入不进去,这个时候就需要加ignore或者replace来导入数据. MYSQL数据库测试如下: MYSQL数据库(1)本地服务器导入本地服务器文本 MYSQL数据库mysql>?show?create?table?tmp_loaddataG; MYSQL数据库***************************?1.?row?*************************** MYSQL数据库Table:?tmp_loaddata MYSQL数据库Create?Table:CREATE?TABLE?`tmp_loaddata`?( MYSQL数据库`id`?int(11)?NOT?NULL, MYSQL数据库`name`?varchar(10)?DEFAULT?NULL, MYSQL数据库PRIMARY?KEY?(`id`) MYSQL数据库)?ENGINE=InnoDB?DEFAULT?CHARSET=latin1 MYSQL数据库1?row?in?set?(0.00?sec) MYSQL数据库ERROR: MYSQL数据库No?query?specified MYSQL数据库mysql>select?*?from?tmp_loaddata; MYSQL数据库+----+------+ MYSQL数据库|?id?|?name?| MYSQL数据库+----+------+ MYSQL数据库|1?|?test?| MYSQL数据库+----+------+ MYSQL数据库1?row?in?set?(0.00?sec) MYSQL数据库mysql> MYSQL数据库mysql>system?cat?/home/zhuxu/1.txt MYSQL数据库1,new?update MYSQL数据库2,new?update MYSQL数据库mysql> MYSQL数据库mysql>LOAD?DATA?INFILE?'/home/zhuxu/1.txt'?INTO?TABLE?tmp_loaddata?FIELDS?TERMINATED?BY?','; MYSQL数据库ERROR?1062?(23000):?Duplicate?entry?'1'?for?key?'PRIMARY' MYSQL数据库#出现唯一性约束冲突,会失败回滚 MYSQL数据库mysql>select?*?from?tmp_loaddata; MYSQL数据库+----+------+ MYSQL数据库|?id?|?name?| MYSQL数据库+----+------+ MYSQL数据库|1?|?test?| MYSQL数据库+----+------+ MYSQL数据库1?row?in?set?(0.00?sec) MYSQL数据库mysql>LOAD?DATA?INFILE?'/home/zhuxu/1.txt'?IGNOREINTO?TABLE?tmp_loaddata?FIELDS?TERMINATED?BY?','; MYSQL数据库Query?OK,1?row?affected(0.00?sec) MYSQL数据库Records:?2Deleted:?0Skipped:?1Warnings:?0 MYSQL数据库#使用IGNORE对于冲突的数据丢弃掉. MYSQL数据库mysql>select?*?from?tmp_loaddata; MYSQL数据库+----+------------+ MYSQL数据库|?id?|?name| MYSQL数据库+----+------------+ MYSQL数据库|1?|?test| MYSQL数据库|2?|?new?update?| MYSQL数据库+----+------------+ MYSQL数据库2?rows?in?set?(0.00?sec) MYSQL数据库mysql>LOAD?DATA?INFILE?'/home/zhuxu/1.txt'?REPLACEINTO?TABLE?tmp_loaddata?FIELDS?TERMINATED?BY?',3?rows?affected(0.00?sec) MYSQL数据库Records:?2Deleted:?1Skipped:?0Warnings:?0 MYSQL数据库#使用REPLACE对于冲突的数据进行更新. MYSQL数据库mysql>select?*?from?tmp_loaddata; MYSQL数据库+----+------------+ MYSQL数据库|?id?|?name| MYSQL数据库+----+------------+ MYSQL数据库|1?|?new?update?| MYSQL数据库|2?|?new?update?| MYSQL数据库+----+------------+ MYSQL数据库2?rows?in?set?(0.00?sec) MYSQL数据库(2)远程客户端导入远程客户端文本 MYSQL数据库[zhuxu@xentest9-vm1?tmp]$mysql?-uzhuxu?-pzhuxu?test?-h10.254.5.151 MYSQL数据库Welcome?to?the?MySQL?monitor.Commands?end?with?;?or?g. MYSQL数据库Your?MySQL?connection?id?is?15 MYSQL数据库Server?version:?5.1.47-log?Source?distribution MYSQL数据库Copyright?(c)?2000,?2010,?Oracle?and/or?its?affiliates.?All?rights?reserved. MYSQL数据库This?software?comes?with?ABSOLUTELY?NO?WARRANTY.?This?is?free?software, MYSQL数据库and?you?are?welcome?to?modify?and?redistribute?it?under?the?GPL?v2?license MYSQL数据库Type?'help;'?or?'h'?for?help.?Type?'c'?to?clear?the?current?input?statement. MYSQL数据库mysql>select?*?from?tmp_loaddata; MYSQL数据库+----+------+ MYSQL数据库|?id?|?name?| MYSQL数据库+----+------+ MYSQL数据库|1?|?test?| MYSQL数据库+----+------+ MYSQL数据库1?row?in?set?(0.00?sec) MYSQL数据库mysql>system?cat?/tmp/2.txt MYSQL数据库1,new?update MYSQL数据库3,new?update MYSQL数据库mysql> MYSQL数据库mysql>LOAD?DATA?INFILE?'/tmp/2.txt'?INTO?TABLE?tmp_loaddata?FIELDS?TERMINATED?BY?','; MYSQL数据库ERROR?13?(HY000):?Can't?get?stat?of?'/tmp/2.txt'?(Errcode:?2) MYSQL数据库#由于数据库服务器没有对应的文本文件,所以报错. MYSQL数据库mysql> MYSQL数据库mysql>LOAD?DATA?LOCALINFILE?'/tmp/2.txt'?INTO?TABLE?tmp_loaddata?FIELDS?TERMINATED?BY?','; MYSQL数据库ERROR?1148?(42000):?The?used?command?is?not?allowed?with?this?MySQL?version MYSQL数据库#进去mysql远程客户端,还需要加--local-infile=1参数指定. MYSQL数据库mysql>?exit MYSQL数据库Bye MYSQL数据库[zhuxu@xentest9-vm1?tmp]$mysql?-uzhuxu?-pzhuxu?test?-h10.254.5.151?--local-infile=1--show-warnings?-v?-v?-v? MYSQL数据库>?-e?"LOAD?DATA?LOCAL?INFILE?'/tmp/2.txt'?INTO?TABLE?tmp_loaddata?FIELDS?TERMINATED?BY?','"; MYSQL数据库-------------- MYSQL数据库LOAD?DATA?LOCAL?INFILE?'/tmp/2.txt'?INTO?TABLE?tmp_loaddata?FIELDS?TERMINATED?BY?',' MYSQL数据库-------------- MYSQL数据库Query?OK,2?rows?affected(0.00?sec) MYSQL数据库Records:?3Deleted:?0Skipped:?1Warnings:?0 MYSQL数据库Bye MYSQL数据库mysql>select?*?from?tmp_loaddata; MYSQL数据库+----+------------+ MYSQL数据库|?id?|?name| MYSQL数据库+----+------------+ MYSQL数据库|1?|?test| MYSQL数据库|2?|?new?update?| MYSQL数据库|3?|?new?update?| MYSQL数据库+----+------------+ MYSQL数据库3?rows?in?set?(0.00?sec) MYSQL数据库# MYSQL数据库[zhuxu@xentest9-vm1?tmp]$mysql?-uzhuxu?-pzhuxu?test?-h10.254.5.151?--local-infile=1--show-warnings?-v?-v?-v? MYSQL数据库>?-e?"LOAD?DATA?LOCAL?INFILE?'/tmp/2.txt'?IGNOREINTO?TABLE?tmp_loaddata?FIELDS?TERMINATED?BY?','"; MYSQL数据库-------------- MYSQL数据库LOAD?DATA?LOCAL?INFILE?'/tmp/2.txt'?IGNORE?INTO?TABLE?tmp_loaddata?FIELDS?TERMINATED?BY?',0?rows?affected(0.00?sec) MYSQL数据库Records:?3Deleted:?0Skipped:?3Warnings:?0 MYSQL数据库Bye MYSQL数据库mysql>select?*?from?tmp_loaddata; MYSQL数据库+----+------------+ MYSQL数据库|?id?|?name| MYSQL数据库+----+------------+ MYSQL数据库|1?|?test| MYSQL数据库|2?|?new?update?| MYSQL数据库|3?|?new?update?| MYSQL数据库+----+------------+ MYSQL数据库3?rows?in?set?(0.00?sec) MYSQL数据库# MYSQL数据库[zhuxu@xentest9-vm1?tmp]$mysql?-uzhuxu?-pzhuxu?test?-h10.254.5.151?--local-infile=1--show-warnings?-v?-v?-v? MYSQL数据库>?-e?"LOAD?DATA?LOCAL?INFILE?'/tmp/2.txt'?REPLACEINTO?TABLE?tmp_loaddata?FIELDS?TERMINATED?BY?','"; MYSQL数据库-------------- MYSQL数据库LOAD?DATA?LOCAL?INFILE?'/tmp/2.txt'?REPLACE?INTO?TABLE?tmp_loaddata?FIELDS?TERMINATED?BY?',4?rows?affected(0.00?sec) MYSQL数据库Records:?3Deleted:?1Skipped:?0Warnings:?0 MYSQL数据库Bye MYSQL数据库mysql>?select?*?from?tmp_loaddata; MYSQL数据库+----+------------+ MYSQL数据库|?id?|?name| MYSQL数据库+----+------------+ MYSQL数据库|1?|?new?update?| MYSQL数据库|2?|?new?update?| MYSQL数据库|3?|?new?update?| MYSQL数据库+----+------------+ MYSQL数据库3?rows?in?set?(0.00?sec) MYSQL数据库--EOF-- (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |