SELECT INTO OUTFILE 语法如下:
select * from Table into outfile '/路径/文件名'
fields terminated by ','
enclosed by '"'
lines terminated by '\r\n'其中:
fields子句:在 FIELDS 子句中有三个亚子句:TERMINATED BY、 [OPTIONALLY] ENCLOSED BY 和 ESCAPED BY。如果指定了 FIELDS 子句,则这三个亚子句中至少要指定一个。
(1)TERMINATED BY 用来指定字段值之间的分割符号,例如:TERMINATED BY ',' 指定逗号作为两个字段值之间的分隔符。
(2)ENCLOSED BY 用来指定包裹文件中字符值的符号,例如:ENCLOSED BY '"' 表示文件中字符值放在双引号之间,若加上关键字 OPTIONALLY 表示所有的值都放在双引号之间。
(3)ESCAPED BY 子句用来指定转义字符,例如:ESCAPED BY '*' 将“*”指定为转义字符,取代“\”,如空格将表示为“*N”。
LINES子句:在 LINES 子句中使用 TERMINATED BY 指定一行结束的标志,例如:LINES TERMINATED BY '?' 表示一行以“?”作为结束标志。
(1)查看 user 表中的数据,如下:
mysql> select * from user;
+----+-------+
| id | name |
+----+-------+
| 1 | Helen
|
| 2 | Tom
|
| 3 | Bill
|
| 4 | Cay
|
| 5 | Gary |
+----+-------+
5 rows in set (0.03 sec)(2)使用 selet * into outfile 语句将 user 表数据导出到 user.txt 文件,且字段间的值使用逗号分割,如下:
mysql> select * from user into outfile "C:/Users/Administrator/Desktop/user.txt" fields terminated by ",";
Query OK, 5 rows affected (0.00 sec)(3)打开 user.txt 查看导出的数据,如下:
1,Helen
2,Tom
3,Bill
4,Cay
5,Gary注意,导出的数据可以通过 load data 命令导入,参考“MySQL 批量导入数据,load data 命令”文章。