mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)


方法1 使用sqlyang工具

1.本地准备好一个文件

mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

2.选择数据
mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)
3.点击图中所示按钮 ,选择复制所有行到剪贴板
mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

4.一般都选择确定,无须修改
mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

5 打开之前的文件,粘贴保存

mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)
方法2 使用mysql命令

注意事项放前面

MYSQL导入数据出现The MySQL server is running with the –secure-file-priv option so it cannot execute this statement
这个原因其实很简单,是因为在安装MySQL的时候限制了导入与导出的目录权限
只能在规定的目录下才能导入
我们需要通过下面命令查看 secure-file-priv 当前的值是什么
mysql> show variables like ‘%secure%’;
该图中 secure-file-priv 为空,表明可以任意保存路径
mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)
该图中指定啦路径,麻烦啦。
mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

解决方法:
在安装MySQL的目录中找到my.ini的配置文件(记录了MySQL的默认配置,如端口号,默认字符集,默认存储引擎等等),打开这个文件,加入
secure-file-priv =
即可解决问题,(若无法修改文件,可用Notepad++以管理员打开进行修改)
!注意,修改完后需重新启动MySQL服务器才可生效.
2.打开生成的exel文档时中文字符乱码
原因:sqlyog默认中文的字符编码类型为utf8,而windows系统默认的中文编码类型为GB2312,因此出现乱码问题
解决方式:
用convert转换编码
convert(typename using gb2312)

如果是正常安装就不会出现这些问题。
安装教程前面博客也有。

通过mysql客户端shell连接到服务器,选择使用的数据库,输入sql代码:
select 字段 from 表格 (筛选条件)
into outfile ‘/路径/路径.csv’
fields terminated by ‘,’    ——字段间以,号分隔
optionally enclosed by ‘”’  ——字段用”号括起
escaped by ‘”’       ——字段中使用的转义符为”
lines terminated by ‘\r\n’;  ——行以\r\n结束

例子
myemployees 所在资源

USE myemployees;

SELECT * FROM employees;#查询下有什么

SELECT * FROM employees INTO OUTFILE 'C:/Users/Shineion/Desktop/tu/shuju.csv' FIELDS TERMINATED BY ',' ESCAPED BY '"' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n';

成功运行
mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

查看保存的文件
mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

保存的文件有些问题,特别是时间,我们修改保存命令

SELECT * FROM employees
INTO OUTFILE 'C:/Users/Shineion/Desktop/tu/shuju.csv'
FIELDS TERMINATED BY ',' ;

这次好啦很多,说明保存命令并不需要全部用完
mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

保存的文件无标题字段,因为筛选出来的只有数据,无字段。

添加筛选条件WHERE job_id=‘AD_VP’

SELECT * FROM employees WHERE job_id='AD_VP'
INTO OUTFILE 'C:/Users/Shineion/Desktop/tu/shuju.csv'
FIELDS TERMINATED BY ','
ESCAPED BY '"'
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';

成功运行
mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

输出带有表头
语法

SELECT *  INTO OUTFILE '路径' 导出条件1 导出条件2
FROM (SELECT '表头别名1','表头别名2' UNION SELECT 字段1,字段2 FROM 表格 筛选条件) b;

解释下:SELECT ‘表头别名1’,‘表头别名2’ UNION SELECT 字段1,字段2 FROM 表格 筛选条件
1.SELECT ‘表头别名1’,‘表头别名2’ :手动写表头字段别名
2.UNION:联合
3.SELECT 字段1,字段2 FROM 表格 筛选条件 : 筛选数据
即左表头 右 数据,中间union

算例

SELECT *  INTO OUTFILE 'C:/Users/Shineion/Desktop/tu/shuju2.csv'
FIELDS TERMINATED BY ','
FROM (SELECT '员工编号','邮箱' UNION SELECT employee_id,email FROM employees) b;

运行成功
mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

查看文件
中文乱码 还是改用英文吧
mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

添加筛选条件


SELECT * INTO OUTFILE 'C:/Users/Shineion/Desktop/tu/shuju2.csv'
FIELDS TERMINATED BY ','
FROM
(SELECT '员工编号','邮箱' UNION SELECT employee_id,email FROM employees WHERE job_id='AD_VP') b;

mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)
导出数据中文乱码问题解决

方法1 使用sqlyang 复制不存在乱码
原始数据 不存在中文,插入一句中文

INSERT INTO employees (first_name) VALUES('余登武');

SELECT * FROM  employees ;

mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

复制数据到剪贴板 再粘贴到表格中
无乱码
mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

方法2 使用代码: CONVERT((字段) USING gbk)

我们先创建一个中文数据表吧

CREATE TABLE book(
id INT,#编号
bookname VARCHAR(50),#书名最大20个字符

username VARCHAR(50)#作者姓名

);
DESC book;#查看表结构

INSERT INTO book(id,bookname,username)VALUES(1,'高数','余登武'),(2,'英语','高念');

SELECT * FROM book;


mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

导出数据乱码是因为
表是采用utf8编码(可以用show create table 表名;语句查看一下),而Excel文件则是GB2312编码。

所以我们采用convert将中文字段转换成gbk编码:

不带表头来一下
语法

SELECT 字段1,CONVERT((字段2) USING gbk) AS '字段1别名 ',CONVERT((字段3) USING gbk) AS ‘字段3别名’ FROM 表名 [筛选条件] INTO OUTFILE ‘路径’ …;

别名可以不写

SELECT 字段1,CONVERT((字段2) USING gbk) ,CONVERT((字段3) USING gbk) FROM 表名 [筛选条件] INTO OUTFILE ‘路径’ …;

SELECT id,CONVERT((bookname) USING gbk) AS '书名',CONVERT((username) USING gbk) AS '作者' FROM book INTO OUTFILE 'C:/Users/Shineion/Desktop/tu/shuju3.csv'
FIELDS TERMINATED BY ',' ;


mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)
mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

带表头来一下

语法:

SELECT *  INTO OUTFILE '路径'
FIELDS TERMINATED BY ',' #以逗号分隔,还可以再添加其他条件
FROM (SELECT CONVERT(('表头字段1别名') USING gbk),CONVERT(('表头字段2别名') USING gbk),CONVERT((' 表头字段3别名') USING gbk) #写表头
UNION SELECT 字段1, CONVERT((字段2) USING gbk),CONVERT((字段3) USING gbk) FROM 表名) b;#查询的数据

算例


SELECT * INTO OUTFILE 'C:/Users/Shineion/Desktop/tu/shuju3.csv'
FIELDS TERMINATED BY ','
FROM (SELECT CONVERT(('编号') USING gbk),CONVERT(('书') USING gbk),CONVERT((' 作者') USING gbk)
UNION SELECT id, CONVERT((bookname) USING gbk),CONVERT((username) USING gbk) FROM book) b;

结果:
mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

电气工程的计算机萌新,写博文不容易,如果你觉得本文对你有用,请点个赞支持下,谢谢。

mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » mysql导出数据到表格讲解大全(导出数据带表头,导出数据中文乱码问题解决)
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏