教你一招只需利用一条SQL语句即可几秒添加几百万数据至数据库中
先看SQL效果
SQL语句[主代码]
LOAD DATA LOCAL INFILE 'E:/csv/test(500W).csv' into TABLE test
CHARACTER SET utf8
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(tid1,val1,tid2,val2)
sql中的关键字做解释
LOAD DATA INFILE语句用于高速地从一个文本文件中读取行,并装入一个表中。文件名称必须为一个文字字符串
LOCAL #本地的意思
LOAD DATA LOCAL INFILE '本地文件绝对路径' into TABLE 表名
CHARACTER SET utf8 #避免中文乱码
FIELDS TERMINATED BY ',' #字符分割符 每个字段(列)以什么字符分割 默认是\t
OPTIONALLY ENCLOSED BY '"' #文本限定符 每个字段被什么字符包围,默认是是空字符
LINES TERMINATED BY '\n' #换行
(tid1,val1,tid2,val2) #对应表的字段名注意:
#这里指定了LOCAL,则文件会被客户主机上的客户端读取,并被发送到服务器。文件会被给予一个完整的路径名称,以指定确切的位置。如果给定的是一个相对的路径名称,则此名称会被理解为相对于启动客户端时所在的目录
如果LOCAL没有被指定,则文件必须位于服务器主机上,并且被服务器直接读取。
均可去手册中查找
手册教程:
打开mysql5.1参考手册,没有可到网络下载或私信我无条件与大家分享,输入搜索LOAD DATA INFILE
按住Ctrl+F搜索均可搜到,教程结束,你学会了吗!!!
Thanks!