一、INTO OUTFILE

1. 用法

  1. SELECT [列名] FROM table [WHERE 语句] [order by 语句] [limit 语句]
  2. INTO OUTFILE '目标文件' [OPTION];

2. [OPTION] 说明

  • fields terminated by ‘字符串’:设置字符串为字段之间的分隔符,能够为单个或多个字符。默认值是“\t”。
  • fields enclosed by ‘字符’:设置字符来括住字段的值。仅仅能为单个字符。默认情况下不使用不论什么符号。
  • fields optionally enclosed by ‘字符’:设置字符来括住CHAR、VARCHAR和TEXT等字符型字段。默认情况下不使用不论什么符号。
  • fields escaped by ‘字符’:设置转义字符,仅仅能为单个字符。默认值为“\”。
  • lines starting by ‘字符串’:设置每行数据开头的字符,能够为单个或多个字符。默认情况下不使用不论什么字符。
  • lines terminated by ‘字符串’:设置每行数据结尾的字符,能够为单个或多个字符。默认值是“\n”。

3. Demo

  1. select * from users into outfile '~/users.csv' fields terminated by ',';

二、GROUP_CONCAT

GROUP_CONCAT函数返回一个字符串结果,该结果由分组中的值连接组合而成。

1. 使用语法及特点:

  1. GROUP_CONCAT([DISTINCT] expr [,expr ...]
  2. [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] [,col ...]]
  3. [SEPARATOR str_val])


在 MySQL 中,你可以得到表达式结合体的连结值。通过使用 DISTINCT 可以排除重复值。如果希望对结果中的值进行排序,可以使用 ORDER BY 子句。
SEPARATOR 是一个字符串值,它被用于插入到结果值中。缺省为一个逗号 (“,”),可以通过指定 SEPARATOR “” 完全地移除这个分隔符。