博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL导入导出数据的中文乱码问题
阅读量:4092 次
发布时间:2019-05-25

本文共 1323 字,大约阅读时间需要 4 分钟。

目录


一、导出查询结果到文件中

学生表

下面我们将学生表的查询结果导出到文件中

1、导出到CSV文件

select * from student into outfile 'D:/Files/student.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by'\n';

此语句按一定格式在D:\Files\下生成了一个student.csv文件

2、导出到txt文件

select * from student into outfile 'D:/Files/student.txt';

产生的txt文件如下所示,这里采用的是默认格式,按tab分隔字段。当然这里也可以跟上面一样,采用自定义个格式

3、导出到Excel文件

select * from student_grade into outfile 'D:/Files/student.xls';

此时,生成的Excel文件出现了乱码问题

这是因为student表是采用utf8编码(可以用show create table student;语句查看一下),而Excel文件则是GB2312编码。

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

select sid, convert((sname) using gbk) as sname, convert((gender) using gbk) as gender,class, convert((major) using gbk) as major from student into outfile 'D:\Files\student.xls';

这时就不会有乱码问题了

二、导入数据到表中

接下来我们新建一个student2表,并且将刚才生成的几个文件的数据导入到表中

1、导入csv文件

load data infile 'D:\\Files\\student.csv' into table student2 fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by'\n';

成功导入数据:

2、导入txt文件

删除刚刚插入的所有数据:

再从txt文件中导入:

load data infile 'D:\\Files\\student.txt' into table student2;

成功导入数据:

3、导入Excel文件

删除刚刚插入的所有数据:

再从Excel文件中导入:

load data infile 'D:\\Files\\student.xls' into table student2;

此时导入的数据出现乱码:

我们在导入数据的时候指定编码为gbk。

load data infile 'D:\\Files\\student.xls' into table student2 character set gbk;

这样就不会出现乱码了:

 

参考链接:

 

转载地址:http://kdnii.baihongyu.com/

你可能感兴趣的文章
Java并发编程1-线程池
查看>>
CentOS7,玩转samba服务,基于身份验证的共享
查看>>
计算机网络-网络协议模型
查看>>
计算机网络-OSI各层概述
查看>>
Java--String/StringBuffer/StringBuilder区别
查看>>
mySQL--深入理解事务隔离级别
查看>>
分布式之redis复习精讲
查看>>
数据结构与算法7-栈
查看>>
线性数据结构学习笔记
查看>>
数据结构与算法14-跳表
查看>>
Java并发编程 | 一不小心就死锁了,怎么办?
查看>>
(python版)《剑指Offer》JZ01:二维数组中的查找
查看>>
(python版)《剑指Offer》JZ06:旋转数组的最小数字
查看>>
(python版)《剑指Offer》JZ13:调整数组顺序使奇数位于偶数前面
查看>>
(python版)《剑指Offer》JZ28:数组中出现次数超过一半的数字
查看>>
(python版)《剑指Offer》JZ30:连续子数组的最大和
查看>>
(python版)《剑指Offer》JZ32:把数组排成最小的数
查看>>
(python版)《剑指Offer》JZ02:替换空格
查看>>
JSP/Servlet——MVC设计模式
查看>>
使用JSTL
查看>>