mysql 导出 sql的执行结果到 csv文件

需求:

     1. 执行某 SQL 的结果;

     2. 将结果导出到 csv文件;

     3. 通过命令行执行;

mysql -A db_name -h host_name -u user_name -p -ss -e "SELECT * FROM table_name LIMIT 100;" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > apps.csv

sed 部分内容可以省略 (具体参数我还没弄明白,大意是设定 csv文件的分隔符等)

-A       指定数据库;

-h       指定ip,远程数据库需要,导出本地数据库可以省略;

-u       用户名;

-p       密码;

-ss     指定导出的结果是否包含列名;

-e      后面加执行的 sql 语句 (e -> execute);

简单写法如下:

mysql -A db_name -h host_name -u user_name -p  -e "SELECT * FROM table_name LIMIT 100;" > apps.csv

注意:

     在假设执行的 sql中包含关键字,在 windows下可以参考 mysql的用法,加上 ``[tab键],如:

SELECT `key` FROM `order`;

    但在 linux下就需要对 ``[tab键] 进行转义,使用‘\’,如下:

SELECT \`key\` FROM \`order\`;

完整如下:

mysql -A db_name -h host_name -u user_name -p  -e "SELECT \`key\` FROM \`order\` LIMIT 100;" > apps.csv

 

参考:https://www.cnblogs.com/wuhongkuan/p/4704299.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值