欢迎来到代码驿站!

Mysql

当前位置:首页 > 数据库 > Mysql

win10 mysql导出csv的两种方式

时间:2021-01-16 12:30:24|栏目: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目录下。

总结

上一篇:开发人员为什么必须要了解数据库锁详解

栏    目:Mysql

下一篇:MySQL slave_net_timeout参数解决的一个集群问题案例

本文标题:win10 mysql导出csv的两种方式

本文地址:http://www.codeinn.net/misctech/45959.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有