视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySQL导入csv、excel或者sql文件的小技巧
2020-11-09 20:27:06 责编:小采
文档


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

您可能感兴趣的文章:

  • 如何将Excel文件导入MySQL数据库
  • 下载本文
    显示全文
    专题