当前位置 : 主页 > 数据库 > mysql >

win10 mysql导出csv的两种方式

来源:互联网 收集:自由互联 发布时间:2021-04-06
win10导出csv有两种方式,第一种是借助工具,Navicat for Mysql是一个非常好用的mysql可视化工具,可以导出多种格式的数据,但是也有其局限。第二种是原始SQL语句导出。 Navicat For Mysql 安装

win10导出csv有两种方式,第一种是借助工具,Navicat for Mysql是一个非常好用的mysql可视化工具,可以导出多种格式的数据,但是也有其局限。第二种是原始SQL语句导出。

Navicat For Mysql

安装软件,这里有绿色免费版,非常好用,链接:https://pan.baidu.com/s/1HZNzq_16M5yrq9hAMfNOmA 提取码:848h 。打开软件,建立数据库连接,然后选择对应的表,右键->导出向导,选择格式即可。

SQL导出

这里面有几个地方会出错,先列出来。

1,The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

2,SELECT list is not in GROUP BY clause

3,导出不好含表头

操作

1,在mysql的安装目录下,找到my.ini,如果没有,就创建这个文件。我的电脑安装的mysql5.7并没有这个文件,于是我就创建了这个文件,我安装在D盘mysql目录。

2,修改my.ini文件,如果存在这个文件就是修改,不存在则直接新增。在[mysqld]下面添加secure_file_priv=''

上面两个步骤是解决secure-file-priv的问题。执行到这个地方需要重启数据库服务,此电脑->右键->管理->服务和应用程序->服务->Mysql->右键->重新启动。

3,在Navicat For Mysql中,在对应的数据库下创建一个查询(这个不是必须的,只是方便写SQL查询)。由于Mysql5.7默认ONLY_FULL_GROUP_BY语义介绍。

执行

SELECT @@global.sql_mode

会出现结果

然后可以看到有ONLY_FULL_GROUP_BY,我们把结果复制出来,去掉ONLY_FULL_GROUP_BY这个字段。然后再运行SQL

SET sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
sql_mode的内容就是去掉ONLY_FULL_GROUP_BY剩下的内容。

4,导出数据

SELECT 'id','name','color' FROM product UNION
SELECT `id`,`name`,`color` FROM product
 INTO OUTFILE 'product.csv' 
 FIELDS TERMINATED BY ';' 
 OPTIONALLY ENCLOSED BY '"' 
 LINES TERMINATED BY '\n';

第一行表示需要添加表头,是用的引号。第二行是查询对应的字段。第三行是导出的文件名。第四行是用什么符号分割。第五行是设置字段包围的符号。第六行是每一行的分割。

5,数据最终会被导出到mysql安装目录下的data->databaaseName目录下。

总结

以上所述是小编给大家介绍的win10 mysql导出csv的两种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对易盾网络网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

网友评论