SELECT ... INTO形式SELECT 使查询结果存储在变量或将其写入文件:
SELECT ... INTO var_list 选择列值并将其存储到变量中。
SELECT ... INTO OUTFILE将选定的行写入文件。可以指定列和行终止符以生成特定的输出格式。
SELECT ... INTO DUMPFILE 将单行写入文件而没有任何格式。
给定的SELECT语句最多可以包含一个INTO子句,尽管如SELECT语法说明所示,该 语句INTO可以出现在不同的位置:
1、之前FROM。例:
SELECT * INTO @myvar FROM t1;
2、在尾随锁定子句之前。例:
SELECT * FROM t1 INTO @myvar FOR UPDATE;
3、在末尾SELECT。例:
SELECT * FROM t1 FOR UPDATE INTO @myvar;
从MySQL 8.0.20开始,该INTO语句末尾的位置是受支持的,并且是首选位置。从MySQL 8.0.20开始,不推荐使用locking子句之前的位置,并且它将在以后的MySQL版本中删除对它的支持。换句话说,INTO在 FROM但不结束时 SELECT会产生警告。
INTO条款不应该在 SELECT UNION使用,因为这样一个 SELECT必须将其结果返回到外部环境。INTO内部 UNION语句的使用也受到限制 ;请参见 第13.2.10.3节“ UNION子句”。
对于变体: INTO var_list
var_list命名一个或多个变量的列表,每个变量可以是用户定义的变量,存储过程或函数参数或存储程序局部变