博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL – 导出数据成csv
阅读量:5092 次
发布时间:2019-06-13

本文共 771 字,大约阅读时间需要 2 分钟。

方案有很多种,我这里简单说一下:

1.  into outfile

1 SELECT * FROM mytable  2 INTO OUTFILE '/tmp/mytable.csv'  3 FIELDS TERMINATED BY ','  4 OPTIONALLY ENCLOSED BY '"'  5 LINES TERMINATED BY '\n';

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

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

2. 通过结合sed

mysql -uroot test -e "select ip from server where a.name like '%abc%'"  -N -s | sed -e 's/^/"/g;s/$/"\n/g'; > /tmp/test.csv

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

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

3. 通过mysqldump来实现

mysqldump -u username -p -t  -T/path/to/directory dbname table_name --fields-terminated-by=','

和1的方案差不多吧。

 

就当是一个笔记吧

转载于:https://www.cnblogs.com/huangjacky/p/4768386.html

你可能感兴趣的文章
Mobiscroll脚本破解,去除Trial和注册时间限制【转】
查看>>
实验五 Java网络编程及安全
查看>>
32位与64位 兼容编程
查看>>
iframe父子页面通信
查看>>
map基本用法
查看>>
Redis快速入门
查看>>
BootStrap---2.表格和按钮
查看>>
Linear Algebra lecture 2 note
查看>>
CRC计算模型
查看>>
Ajax之404,200等查询
查看>>
Aizu - 1378 Secret of Chocolate Poles (DP)
查看>>
csv HTTP简单表服务器
查看>>
OO设计的接口分隔原则
查看>>
数据库连接字符串大全 (转载)
查看>>
java类加载和对象初始化
查看>>
对于负载均衡的理解
查看>>
django简介
查看>>
window.event在IE和Firefox的异同
查看>>
常见的js算法面试题收集,es6实现
查看>>
IO流写出到本地 D盘demoIO.txt 文本中
查看>>