win10 mysql导出csv的两种方式
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剩下的内容。
SELECT 'id','name','color' FROM product UNIONSELECT `id`,`name`,`color` FROM product INTO OUTFILE 'product.csv' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';
5,数据最终会被导出到mysql安装目录下的data->databaaseName目录下。
总结
更多相关文章
- Android(安卓)版本兼容 — Android(安卓)6.0 和 7.0后获取Mac地
- 浅谈Java中Collections.sort对List排序的两种方法
- android 创建桌面快捷方式 、插件
- android源码下载方式
- 创建android逐帧动画的两种方式
- 【安卓笔记】android客户端与服务端交互的三种方式
- android触摸实现物体运动方式
- TabHost两种实现方式
- Android(安卓)RIL总体架构介绍