mysql导出表数据到文件_MySQL导出数据到文件中的方法

时间:2025-03-24 08:54:59

MySQL导出数据到文件中的方法

1、导出数据到txt文件中

实例:把数据表studscoreinfo中所有数据导出到指定的位置

方法:select * from 表名 into outfile 指定导出的位置;

mysql> select * from studscoreinfo into outfile "c:/pyfiles/";

Query OK, 90 rows affected (0.01 sec)

2、导出数据到CSV文件中

实例:把数据表studscoreinfo中所有数据导出到指定的位置

方法:select * from 表名 into outfile 指定导出的位置;

mysql> select * from studscoreinfo into outfile "c:/pyfiles/"

-> fields terminated by ','

-> optionally enclosed by '"'

-> escaped by '"'

-> lines terminated by '\r\n';

Query OK, 90 rows affected (0.00 sec)

fields terminated by 默认值是'\t',lines terminated by 默认值是'\n',而Windows上的文件换行是'\r\n',Mac OS X是'\r'。

3、导出数据到Excel文件中

如果直接用select * from studscoreinfo into outfile "c:/pyfiles/";语句导出数据到Excel文件中,此时生成的Excel文件会出现了乱码问题,这是因为MySQL中的studscoreinfo表是采用utf8编码(可以用show create table studscoreinfo;语句查看),而Excel文件则是GB2312编码,故会有乱码。可以采用convert将字段转换成gbk编码:

mysql> select convert((Id) using gbk) as Id,convert((Grade_Classes) using gbk) as Grade_Classes,convert((Seat_Numbers) using gbk) as Seat_Numbers,

-> convert((Names) using gbk) as Names,convert((Chinese_Scores) using gbk) as Chinese_Scores,convert((Math_Scores) using gbk) as Math_Scores,

-> convert((English_Scores) using gbk) as English_Scores,convert((Total_Scores) using gbk) as Total_Scores, convert((Score_Averages) using gbk) as Score_Averages,convert((Remarks) using gbk) as Remarks

-> from studscoreinfo into outfile "c:/pyfiles/";

Query OK, 90 rows affected (0.01 sec)

这样导出的Excel文件就不会出现乱码了。