MySQL导出数据到csv文件
语法如下: SELECT * FROM table_name
INTO OUTFILE 'D:/xxx/xxx/xxx.csv' (这里路径要加全路径)
FIELDS TERMINATED BY ',' OPTI
一、MySQL导出数据到本地文件夹 语法如下: SELECT * FROM table_name INTO OUTFILE 'D:/xxx/xxx/xxx.csv' (这里路径要加全路径) FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' 这个时候可能会出现如下错误: [Err] 1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 原因是MySQL对导出导入文件路径有限制,解决方法: 1.进入mysql查看secure_file_prive的值 mysql>SHOW VARIABLES LIKE "secure_file_priv"; secure_file_prive=null --限制mysqld 不允许导入导出 我新装的mysql,我的情况就是secure_file_prive=null secure_file_priv=/tmp/ --限制mysqld的导入导出只能发生在/tmp/目录下 secure_file_priv=' '--不对mysqld的导入导出做限制 2.修改secure_file_prive的值 Windows下打开my.ini(如果是Linux的话就是my.cnf,我这里主要介绍在windows操作系统) 在mysqld下 找到secure-file-priv='xxxx',修改路径 如果没有就加一行secure-file-priv=''(注意是横线,不是下划线),添加路径或者不添加,不添加就是可以在任何目录下操作。 然后重启mysql服务即可。 二、修改完成后就可以导出文件,但是有可能还会遇到一些问题,如下: 1.[Err] 1 - Can't create/write to file 'D:\*******\mysqlFile\成绩表.csv' (Errcode: 22) 这个问题是因为路径中包含了汉字(这个感觉有点坑),比如: 我在csv文件名中有汉字,就报错了MySQL 导出数据,这个问题我只能改文件名了,可能是MySQL的一个BUG。 2.数据导出到csv文件之后,打开查看,发现乱码了(windows下支持用excel文件格式打开)。 mysql表是utf8编码,excel默认编码格式是gbk,我们可以在导出的时候加上编码,问题就可以解决了,如下: 3.费了半天劲好不容易把数据导出到csv文件了,结果发现csv文件中没有字段名称,只有数据。 这样的话很多情况下无法满足客户的需求,用户关心数据,而没有字段的话用户无法理解数据的含义。 所以我们还要加上字段名称,俗称表头: 终于好了,查看结果: (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |