1:创建一个测试表,3个字段,其中2个中文字段,用来做演示使用
mysql>
create
table
tt(a
int(11)
not
null,b
varchar(30),c
varchar(30));
query
ok,
0
rows
affected
(000
sec)
mysql>
insert
into
tt
values(1,'北京','北京大学'),(2,'上海','上海大学'),(3,'深圳','深圳大学');
query
ok,
3
rows
affected
records:
3
duplicates:
0
warnings:
0
2:导出到excel文件,用outfile方法,下面2种方法的效果是一样的
mysql>
select
b,c
from
tt
into
outfile
'c:\xls_ttxls';
query
ok,
3
rows
affected
(000
sec)
mysql>
select
b,c
into
outfile
'c:\xlsttxls'
from
tt;
query
ok,
3
rows
affected
(000
sec)
3:到c盘下找到导出的xls文件,发现都是乱码,如
鍖椾含
鍖椾含澶у
涓婃捣
涓婃捣澶у
娣卞湷
娣卞湷澶у
这样完全没办法使用。“这个时候文件是utf-8编码的,用excel打开,乱码。
把testxls以文本方式打开,然后另存为,在编码选择ansi编码,保存”。这样 *** 作后,不乱码了,但是需要手工去处理。再看其他办法
4:通过网络朋友的帮忙,找到下面转换的方法
mysql>
select
convert(b
using
gb2312),convert(c
using
gb2312)
into
outfile
'c:\xlstt12xls'
from
tt;
query
ok,
3
rows
affected
(000
sec)
打开导出的文件,一切都正常了。
excel的默认编码方式是gb2312的,在查询出来的字段转换成db2312后,双方达成一致,所以不再乱码。
把双方的mysql服务都停掉,直接把导出方的数据表文件(就是和数据库表名对应的frmmydmyi文件)拷到导入方(注意一个表有三个文件),然后改一下数据表文件名成你要导入的表名,然后启动mysql服务
,如果导入方原来的表有数据,可以把原来的数据用正常方式导出,然后在工具里面导入合并就可以了,
再有一个可行的方法就是自写代码一行一行的转移数据了
首先需要知道是导出哪个一个数据库的数据。使用SQL Server Management Studio连接上这个数据库。
2
然后确定需要导出哪个表的数据为Excel文件。若表的项目很多,可以右键“表”筛选条件。
3
若知道是哪一个数据库哪一个表,则前面两个步骤可以省略,直接新建查询,使用的SQL命令查询这个表。并可以加上条件语句。
4
在查询出来的结果中,点击最左上角右键全选,选中后,再点击右键,选择“将结果另存为”。同样若选择复制,然后再打开一个空白的EXCEL粘贴进去也可以,适合少量数据。
5
保存类型为CSV格式,此类型的文件可以直接使用的EXCEL打开,并保持列与行不变。
6
将保存的结果打开后与SQL中的结果一致,同样可以部分选择复制,然后粘贴到空白的EXCEl中。
END
导出完整的SQL数据表为Excel文件
若是数据表中的数据量很庞大,则可以使用SQL Server Management Studio自带的导出功能。如图数据库右键-任务-导出数据。
输入SQL Server的身份验证。注意确定是导出哪一个数据库中的数据表。点击下一步。
选择导出目标为Microsoft Excel文件。
选择导出的EXCEL文件保存路径和文件名字。继续下一步。
这里需要注意选择的是Excel的版本,若选择了低版本的Office则导出的数据条数将会有限制。
注意,若是整个SQL数据表导出选择第一项,若是需要编写查询指定数据,可以在选择二项。然后输入命令即可。
选择需要导出的数据表,注意,这里可以选择多个表一起导出。
导出成功,可以查看传输的行数,注意若是Office低版本,行数不支持超过65535行。
到导出的路径目录下打开导出的Excel文件,可以看到效果如图所示。如果数据量很庞大建议导出保存的格式不要选择EXCEl文件格式。
参考资料:
以上就是关于怎样将MySQL数据导出到Excel表中全部的内容,包括:怎样将MySQL数据导出到Excel表中、MySQL中如何把一个数据库中的表数据,导到另一个数据库的表中、如何将MYSQL中数据导出到EXCEL表中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)