MySQL导出数据为csv的方法(亲测),导出数据为各种文件类型

最方便的还是用工具导出

mysql命令行导出,windows和linux都行,下面以windows为例:

登录mysql
1.查看导出权限

5.0mysql默认是不给导出数据到文件的,8.0有默认导出路径,我们可以查看secure_file_prive的路径
SHOW VARIABLES LIKE “%secure%”;
MySQL导出数据为csv的方法(亲测),导出数据为各种文件类型_第1张图片

可以看到secure_file_prive的值,大概有三种

secure_file_prive=null,不允许导出文件
secure_file_priv=/path/ ,只允许导出到指定路径
secure_file_priv="" ,允许导出到任何路径

我们可以进入打开mysql的配置文件进行修改
Windows版可以打开my.ini,Linux打开/etc/my.cnf,在里面修改或添加secure_file_priv的值
8.0把路径注释掉,新写一个更保险
5.0本身没有secure_file_priv参数,添加上去就行
在这里插入图片描述
修改完重启mysql服务
在这里插入图片描述重启服务之后再登录mysql执行show variables like “%secure%”;查看是否已经修改成功
MySQL导出数据为csv的方法(亲测),导出数据为各种文件类型_第2张图片
导出csv文件,不带表头

fields terminated by描述字段的分隔符,默认情况下是tab字符(\t)
enclosed by描述的是字段值的括起字符。下面sql里没有括起字符
escaped by描述的转义字符。默认的是反斜杠(backslash:\ )
lines terminated by : 行与行之间的分隔

我用的sqlyog执行的,路径需要\\,navicat可能用\就行,只要不报路径不存在就行

SELECT * FROM test INTO OUTFILE "E:\\test\\a.csv" FIELDS TERMINATED BY "," ENCLOSED BY ''  
 LINES TERMINATED BY '\n' 

MySQL导出数据为csv的方法(亲测),导出数据为各种文件类型_第3张图片

注意
csv文件不能提前存在,否则报错

MySQL导出数据为csv的方法(亲测),导出数据为各种文件类型_第4张图片
导出的路径数据库需要有权限访问,不然报错:访问受限

查询结果导出为xls
xlsx也可以,如果xlsx文件打不开,是安装过wps的原因,需要修改注册表。
excle类型可以省略后面的参数,证明excle为默认类型

SELECT `Stars`,COUNT(`Variety`)  FROM `rating` GROUP BY `Stars` INTO OUTFILE "E:\\MySQL\\MySQL Server 8.0\\Uploads\\c.xls" 

使用mysqldump导出

相当于备份,spj是库名,s是表名
mysqldump -uroot -p123456 spj s> C:\backup\s.sql

补充

使用mysql命令导出

mysql spj -uroot -p123456 -e “select * from s;” > C:\backup\s.txt

你可能感兴趣的:(MySQL,mysql,数据库,服务器)