SELECT…INTO的具体用法(select into insert into)居然可以这样

随心笔谈2年前发布 编辑
167 0
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买



目录一、SELECT…INTO介绍二、SELECT INTO FROM语句三、select into from与insert into select区别:

源自MySQL 5.7 官方手册 手册地址

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必须将它的查询结果返回给外部上下文。

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

SQL SELECT INTO 实例 – 制作备份复件

下面的例子会制作 “Persons” 表的备份复件:

SELECT *
INTO Persons_backup
FROM Persons

IN 子句可用于向另一个数据库中拷贝表:

SELECT *
INTO Persons IN ‘Backup.mdb’
FROM Persons

如果我们希望拷贝某些域,可以在 SELECT 语句后列出这些域:

SELECT LastName,FirstName
INTO Persons_backup
FROM Persons

SQL SELECT INTO 实例 – 带有 WHERE 子句

我们也可以添加 WHERE 子句。

下面的例子通过从 “Persons” 表中提取居住在 “Beijing” 的人的信息,创建了一个带有两个列的名为 “Persons_backup” 的表:

SELECT LastName,Firstname
INTO Persons_backup
FROM Persons
WHERE City=’Beijing’

SQL SELECT INTO 实例 – 被连接的表

从一个以上的表中选取数据也是可以做到的。

下面的例子会创建一个名为 “Persons_Order_Backup” 的新表,其中包含了从 Persons 和 Orders 两个表中取得的信息:

SELECT Persons.LastName,Orders.OrderNo
INTO Persons_Order_Backup
FROM Persons
INNER JOIN Orders
ON Persons.Id_P=Orders.Id_

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是个经过处理的字段,其值类型可能无法自动创建,所以,建议使用第一种形式的语句,建立一个表,然后再插入查询。

到此这篇关于SELECT…INTO的具体用法的文章就介绍到这了,更多相关SELECT INTO内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:数据库插入数据之select into from与insert into select区别详解解析MySQL中INSERT INTO SELECT的使用insert into select和select into的使用和区别介绍insert select与select into 的用法使用说明select into 和 insert into select 两种表复制语句使用MySQL实现select?into临时表的功能

© 版权声明

相关文章