MySQL查询结果导出到文件
选择某些行作为需要的数据
SELECT id,dbname FROM `index` into outfile "d://aaa.txt";
一般大家都会用 “SELECT INTO OUTFIL”将查询结果导出到文件,但是这种方法不能覆盖或者添加到已经创建的文件,下文为您介绍的这种方法则很好地解决了此问题。
一般大家都会用 “SELECT INTO OUTFIL”将查询结果导出到文件,但是这种MySQL查询结果导出到文件方法不能覆盖或者添加到已经创建的文件。例如:
- 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