![cover](https://img-blog.csdnimg.cn/aeaadbc8145d4de884a2f4e90a762b57.jpeg)
SELECT...INTO语法
SELECT…INTO用来将查询结果存储在变量或者写入文件中。SELECT......SELECT…INTO var_list,将查询结果存储在变量中;SELECT…INTO OUTFILE 将查询结果写入一个文件,还可以指定列和行终止符以生成特定的输出格式。SELECT…INTO DUMPFILE 将单行数据写入文件,没有任何格式。在SELECT的语法展示中,INTO子句在整个语句的尾部。但是让
SELECT…INTO语法
源自MySQL 5.7 官方手册 手册地址
一、SELECT…INTO介绍
SELECT…INTO用来将查询结果存储在变量或者写入文件中。
SELECT
...
...
[INTO OUTFILE 'file_name'
[CHARACTER SET charset_name]
export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name]]
通常有以下三种用法:
- SELECT…INTO var_list,将查询结果存储在变量中;
- SELECT…INTO OUTFILE 将查询结果写入一个文件,还可以指定列和行终止符以生成特定的输出格式。
- SELECT…INTO DUMPFILE 将单行数据写入文件,没有任何格式。
在SELECT的语法展示中,INTO子句在整个语句的尾部。但是让INTO子句紧跟select_expr列表后。
一个INTO子句不应该在内嵌的SELECT中使用,因为这样一个SELECT必须将它的查询结果返回给外部上下文。
二、SELECT INTO FROM语句
SQL SELECT INTO 语句可用于创建表的备份复件。
语法:
- 您可以把所有的列插入新表:
SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename
- 或者只把希望的列插入新表:
SELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_tablename
三、select into from与insert into select区别:
1.INSERT INTO SELECT语句
语句形式为:Insert into Table2(field1,field2,…) select value1,value2,… from Table1
要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量
2.SELECT INTO FROM语句
语句形式为:SELECT vale1, value2 into Table2 from Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。
比较两种语句的差别,选择适合自己情况的语句。
此外,ispass是个经过处理的字段,其值类型可能无法自动创建,所以,建议使用第一种形式的语句,建立一个表,然后再插入查询。
更多推荐
所有评论(0)