php select输出到文件,SELECT...INTO OUTFILE导出数据到文件

SELECT...INTO OUTFILE导出数据到文件

使用SELECT...INTO OUTFILE可以导出数据到文件,同时指定每个字段的分隔符和每行的换行符,如下,

mysql> select id, name, price from book into outfile '/tmp/book_data.txt' fields terminated by',' lines terminated by '\r\n';

Query OK, 4 rows affected (0.00 sec)

mysql>

如下是文本中数据的格式,

1,Hello World,1.2

2,hello world book,1.2

3,hello world book,1.2

4,hello world book,1.2

可以看到使用逗号来分隔每个字段,换行符是\r\n。

但有时候登录不到数据库的主机上,可以使用mysql -e命令导出我们想要的数据,如下,

➜ ~ mysql -h localhost -u root -p034039 -e 'select id, name, price from account.book' > book_data.txt

mysql: [Warning] Using a password on the command line interface can be insecure.

其实这使用的Linux的IO重定向。打开文件,可以看到如下数据,

id name price

1 Hello World 1.2

2 hello world book 1.2

3 hello world book 1.2

4 hello world book 1.2

其实就是sql->select id, name, price from account.book的查询结果,然后输出到文件中的。 但是字段的分隔还不是很清晰明了,那怎么办? 可以通过concat 函数连接多个字段为一行,然后中间加上分隔符,这样就清晰了,这样写sql,如下,

➜ ~ mysql -h localhost -u root -p034039 -e 'select concat(id,"|",name,"|",price) from account.book' > book_data.txt

mysql: [Warning] Using a password on the command line interface can be insecure.

输出的文件格式为:

concat(id,"|",name,"|",price)

1|Hello World|1.2

2|hello world book|1.2

3|hello world book|1.2

4|hello world book|1.2

========END========

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值