MySQL导⼊csv、excel或者sql⽂件的⼩技巧
1.导⼊csv⽂件
使⽤如下命令:
上⾯的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就会出错,真搞不明⽩!
mysql存储文档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⽂件的⼩技巧,希望对⼤家有所帮助,如果⼤家有任何疑问请给我
留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。