mysql查询结果导出到文件另一方法

来源:互联网 发布:奇爱博士讲电影知乎 编辑:程序博客网 时间:2024/04/30 02:58

From: http://www.blogjava.net/lhulcn618/archive/2009/09/29/296905.html

 

一般大家都会用 “SELECT INTO OUTFIL”将查询结果导出到文件,但是这种方法不能覆盖或者添加到已经创建的文件。例如:

mysql> select 1 into outfile '/tmp/t1.txt';
Query OK, 
1 row affected (0.00 sec)
mysql
> select 1 into outfile '/tmp/t1.txt';
ERROR 
1086 (HY000): File '/tmp/t1.txt' already exists
 
还可以使用另外一种方法:
mysql
> pager cat > /tmp/t1.txt
PAGER 
set to 'cat > /tmp/t1.txt'
mysql
> select 1;/! cat /tmp/t1.txt
1 row in set (0.00 sec)
+---+
| 1 |
+---+
| 1 | 
+---+


这样你能很方便的查询到2条sql的差异:

mysql> pager cat > /tmp/t01.txt
PAGER 
set to 'cat > /tmp/t01.txt'
mysql
> select 12345 union select 67890;
2 rows in set (0.02 sec)
mysql
> pager cat > /tmp/t02.txt
PAGER 
set to 'cat > /tmp/t02.txt'
mysql
> select 12345 union select 67891;
2 rows in set (0.00 sec)
mysql
> /! vimdiff -o  /tmp/t0[12].txt
2 files to edit
  
+-------+
  | 12345 |
  
+-------+
  | 12345 |
  
| 67890 |                                                                                                                 
  
+-------+                                                                                                              
/tmp/t01.txt 
  
+-------+
  | 12345 |
  
+-------+
  | 12345 |
  
| 67891 |                                                                                                                 
  
+------+                                                                                                         
/tmp/t02.txt
原创粉丝点击