MySQL通过自增一列在Select ... into outfile...里面实现CSV导出带字段的效果

CSV的样例中 Select ... into outfile...是不带字段名的,只导出数据,所以需要自己想另外的办法实现,这里有一个笨招,自己构造一个字段列,示例如下:

1,创建测试表数据
CREATE TABLE test.c SELECT 1 AS pid,1 AS item,15.0 AS wgt UNION ALL
SELECT 1 AS pid,2 AS item,20.0 AS wgt UNION ALL
SELECT 1 AS pid,3 AS item,30.0 AS wgt UNION ALL
SELECT 1 AS pid,4 AS item,29.0 AS wgt;
SELECT * FROM test.c;


mysql> SELECT * FROM test.c;
+-----+------+------+
| pid | item | wgt  |
+-----+------+------+
|   1 |    1 | 15.0 | 
|   1 |    2 | 20.0 | 
|   1 |    3 | 30.0 | 
|   1 |    4 | 29.0 | 
+-----+------+------+
4 ROWS IN SET (0.00 sec)


2,通过union all实现字段列,并且排在第一行

SELECT * FROM (
SELECT 'pid' AS pid,'item' AS item,'wgt' AS wgt
UNION ALL
SELECT * FROM test.c
)a INTO OUTFILE '/tmp/c.csv' 
 FIELDS TERMINATED BY ',' 
 OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n';

执行如下:
mysql> SELECT * FROM (
    -> SELECT 'pid' AS pid,'item' AS item,'wgt' AS wgt
    -> UNION ALL
    -> SELECT * FROM test.c
    -> )a INTO OUTFILE '/tmp/c.csv' 
    ->  FIELDS TERMINATED BY ',' 
    ->  OPTIONALLY ENCLOSED BY '"'
    ->   LINES TERMINATED BY '\n';
Query OK, 5 rows affected (0.00 sec)

3,去打开c.csv文件查看效果
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值