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

最方便的还是用工具导出

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

登录mysql
1.查看导出权限

5.0mysql默认是不给导出数据到文件的,8.0有默认导出路径,我们可以查看secure_file_prive的路径
SHOW VARIABLES LIKE “%secure%”;
在这里插入图片描述

可以看到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%”;查看是否已经修改成功
在这里插入图片描述
导出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' 

在这里插入图片描述

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

在这里插入图片描述
导出的路径数据库需要有权限访问,不然报错:访问受限

查询结果导出为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

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值