您正在使用 IPV4 [18.97.9.168] 访问本站,您本次已经查看了 1 页
用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
[公益]保护绿色环境,构建和谐社会      

【腾讯云】2核2G云服务器新老同享 99元/年,续费同价,云服务器3年机/5年机限时抢购,低至 2.5折      
[公益] 地球是我家,绿化靠大家      
2025年 春 节 005
2025年 高 考 134
2025年 春 节 005
2026年 元 旦 342
 
您现在的位置:首页 >> 数据库 >> 内容
本类新增
本类热门
MySQL 导出数据为csv格式的方法
内容摘要: 1.intooutfile代码如下:SELECT*FROMmytableINTOOUTFILE'/tmp/mytable.csv'FIELDSTERMINATEDBY','OPTIONALLYENCLOSEDBY'''LINESTERMINATEDBY'\n';在我使用过程中发现一个特别严重问题,这里面不能插入查询条件,比如where这些,也就是说只能整表导......
1.intooutfile

代码如下:

SELECT*FROMmytable

INTOOUTFILE'/tmp/mytable.csv'

FIELDSTERMINATEDBY','

OPTIONALLYENCLOSEDBY'"'

LINESTERMINATEDBY'\n';

在我使用过程中发现一个特别严重问题,这里面不能插入查询条件,比如where这些,也就是说只能整表导出,不知道是不是我的写法有问题,有知道朋友请给我留言。

第二个问题是,outfile的路径一定要有写权限,我们mysql的进程权限一般是mysql用户,因此最好导出到/tmp目录下面。

2.通过结合sed

代码如下:

mysql-uroottest-e"selectipfromserverwherea.namelike'%abc%'"-N-s|sed-e's/^/"/g;s/$/"\n/g';>/tmp/test.csv

这里首先使用mysql命令的-e参数来执行sql语句,然后通过-N来去掉输出结果中列名,-s去掉输出结果中的各种划线。

然后使用sed命令输出结果中所有相关数据进行替换,其中替换了三处,1.在行首增加“,在行尾增加”和换行,在每个字段之间增加”,”来分隔。

3.通过mysqldump来实现

代码如下:

mysqldump-uusername-p-t-T/path/to/directorydbnametable_name--fields-terminated-by=','

和1的方案差不多吧。

版权声明:本内容来源于网络,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
上一篇:win10下安装两个MySQL5.6.35数据库

 

下一篇:MySQL数据同步出现Slave_IO_Running: N

发布日期:2023/12/19
手机扫二维码直达本页
发布时间:12:23:14
点  击:5
录  入:哲哲
相关文章
Baidu
YiJiaCMS 7.5.5 build241121(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,创宇云安全提供加速防护
运行时间载入中.....
知道创宇云安全