• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

MySQL导入csv、excel或者sql文件的小技巧

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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在stackoverflow找到了我想要的答案。

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文件的小技巧,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对极客世界网站的支持!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java将excel中的数据导入到mysql中发布时间:2022-02-08
下一篇:
在linux命令下导出导入.sql文件的方法发布时间:2022-02-08
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap