SQL基础知识普及(十七)——SELECT INTO和INSERT INTO SELECT 语句

简介: SQL数据库开发

 

                       1.SELECT INTO

SQL SELECT INTO 语句

使用 SQL,您可以将信息从一个表中复制到另一个表中。

SELECT INTO 语句从一个表中复制数据,然后将数据插入到另一个新表中。

SQL SELECT INTO 语句

SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。

SQL SELECT INTO 语法

我们可以把所有的列都复制到新表中:

SELECT *

INTO newtable [IN externaldb]

FROM table1;

或者只复制希望的列插入到新表中:

SELECT column_name(s)

INTO newtable [IN externaldb]

FROM table1;

提示:将使用SELECT语句中定义的列名和类型创建新表。您可以使用AS子句来应用一个新名称。

SQL SELECT INTO 实例

创建 Customers 的备份复件:

SELECT *

INTO CustomersBackup2013

FROM Customers;

请使用 IN 子句来复制表到另一个数据库中:

SELECT *

INTO CustomersBackup2013 IN 'Backup.mdb'

FROM Customers;

只复制一些列插入到新表中:

SELECT CustomerName, ContactName

INTO CustomersBackup2013

FROM Customers;

只复制德国的客户插入到新表中:

SELECT *

INTO CustomersBackup2013

FROM Customers

WHERE Country='Germany';

复制多个表中的数据插入到新表中:

SELECT Customers.CustomerName, Orders.OrderID

INTO CustomersOrderBackup2013

FROM Customers

LEFT JOIN Orders

ON Customers.CustomerID=Orders.CustomerID;

提示:SELECT INTO 语句可以用于在另一种模式下创建一个新的空表。只需添加WHERE子句,使查询返回时没有数据:

SELECT *

INTO newtable

FROM table1

WHERE 1=0;

                    2.INSERT INTO SELECT

SQL INSERT INTO SELECT 语句

使用SQL,您可以将信息从一个表中复制到另一个表中。

INSERT INTO SELECT 从表中复制数据,并将数据插入现有的表中。

SQL INSERT INTO SELECT 语句

INSERT INTO SELECT 语句从表中复制数据,并将数据插入现有的表中。目标表中的任何现有行都不会受到影响。

SQL INSERT INTO SELECT 语法

我们可以将所有列从一个表中复制到另一个已经存在的表中:

INSERT INTO table2

SELECT * FROM table1;

或者我们可以把想要的列复制到另一个现有的表中:

INSERT INTO table2

(column_name(s))

SELECT column_name(s)

FROM table1;

演示数据库

以下是"Customers"表中的数据:

27.jpg

选自 "Suppliers" 表的数据:

28.jpg

SQL INSERT INTO SELECT 实例

把 "Suppliers" 一栏复制到 "Customers" 一栏:

实例

INSERT INTO Customers (姓名, 省份)
SELECT 供应商名称, 省份 FROM Suppliers;

只将上海供应商的副本插入 "Customers" :

实例

INSERT INTO Customers (姓名, 省份)
SELECT 供应商名称, 省份 FROM Suppliers
WHERE 省份='上海市';


相关文章
|
5月前
|
SQL 数据挖掘 大数据
如何在 SQL Server 中使用 `SELECT TOP`
【8月更文挑战第10天】
217 7
如何在 SQL Server 中使用 `SELECT TOP`
|
4月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
75 1
|
5月前
|
SQL 关系型数据库 MySQL
INSERT INTO t_a.tableName SELECT * FROM t_b.tableName 如何通过定义一个list对象,包含多个tableName,循环执行前面的sql,用MySQL的语法写
【8月更文挑战第7天】INSERT INTO t_a.tableName SELECT * FROM t_b.tableName 如何通过定义一个list对象,包含多个tableName,循环执行前面的sql,用MySQL的语法写
55 5
|
5月前
|
SQL 关系型数据库 BI
关系型数据库SQL server INSERT 语句
【8月更文挑战第3天】
89 9
|
5月前
|
SQL 数据挖掘 关系型数据库
|
5月前
|
SQL
访问者模式问题之构造一个包含 select、from 和 where 子句的 SQL 节点树,如何解决
访问者模式问题之构造一个包含 select、from 和 where 子句的 SQL 节点树,如何解决
|
6月前
|
SQL Oracle 关系型数据库
SQL SELECT TOP 子句
【7月更文挑战第12天】SQL SELECT TOP 子句。
52 14
|
6月前
|
SQL Oracle 关系型数据库
SQL SELECT TOP 子句
【7月更文挑战第13天】SQL SELECT TOP 子句。
44 5
|
SQL 存储
SQL SELECT 语句
SQL SELECT 语句
96 0
|
SQL
【如何成为SQL高手】第五关:select语句基本用法
【如何成为SQL高手】第五关:select语句基本用法
338 0
【如何成为SQL高手】第五关:select语句基本用法