MySQL导入csv、excel或者sql文件的小技巧
1.导入csv文件
使用如下命令:
1.mysql> load data infile "your csv file path" into table [tablename] fields terminated by ','
上面的csv文件以','逗号作为分割符,需要用双引号或者单引号括起来。如果是以'\t'制表符作为分隔符的话,可不用显示指明域分割符。
还有一点需要注意,csv文件或者文本文件的路径要使用绝对路径,否则mysql会默认从数据库存储的目录寻找,找不到就会报如下错误:
error 13 (hy000) at line 1: can't get stat of '/var/lib/mysql/promotiongroup/attempt_1467708933142_34285938_m_000000_0.1469434545564' (errcode: 2)
perror 2查看一下错误码代表的意思:os error code 2: no such file or directory。意思就是没有指定的文件或者目录。
如果使用绝对路径之后还是会报如下错误:
error 13 (hy000) at line 1: can't get stat of '/fullpath/file.csv' (errcode: 13)
使用命令perror 13查看错误类型:os error code 13: permission denied。根据错误的提示,顺其自然的检查文件是否有可读权限,结果是有的,于是各种百度都没有得到正确的答案,百思不得其解,最终选择google在*找到了我想要的答案。
try to use load data local infile instead of load data infile.
使用load data local infile尝试一下,结果真的可以了!
load data local infile与load data infile的区别是什么呢?
使用local关键词,从客户主机读文件。不使用local,从服务器读取文件。
很奇怪的是,我的文件是在服务器上的,但是不使用local就会出错,真搞不明白!
2.导入excel文件
无需指定分割符。直接使用下面的命令:
mysql> load data infile "your excel file path" into table [tablename]
注意上面导入文件时,都需要提前建立好与文件内各个段对应好的数据表。并且文件的路径需要使用引号括起来,双引号和单引号都可以。
3.导入sql文件
无需提前建立好数据表,直接使用source命令:
source /home/abc/abc.sql;
sql脚本无需双引号括起来。本质上使用source执行外部sql脚本,sql脚本会将sql脚本中附带的数据导入到创建的数据表中。
以上所述是小编给大家介绍的mysql导入csv、excel或者sql文件的小技巧,希望对大家有所帮助
上一篇: 聚焦HPC,迎接大数据
下一篇: 传感器+大数据:GE打造工业互联网
推荐阅读
-
mysql使用sql语句导入csv格式文件的操作教程
-
mysql5的sql文件导入到mysql4的方法_php技巧
-
mysql5的sql文件导入到mysql4的方法_php技巧
-
php导入excel文件到mysql数据库的方法_php技巧
-
如何通过命令将.sql文件导入到mysql的数据库中,或者从MySQL数据库中导出sql文件到本地
-
php将csv文件导入到mysql数据库的方法_php技巧
-
php将csv文件导入到mysql数据库的方法_php技巧
-
php导入excel文件到mysql数据库的方法_php技巧
-
MySQL导入csv、excel或者sql文件的小技巧
-
mysql使用sql语句导入csv格式文件的操作教程