通过 SQL,可以从一个表复制数据到另一个表。
INSERT INTO SELECT 语句
INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。目标表中任何已存在的数据不会受影响。
如下,我们可以从一个表中复制所有的列插入到另一个已存在的表中:
或者,我们可以只复制特定的列插入到另一个已存在的表中:
演示数据库
INSERT INTO SELECT 实例
复制 "Students_hobby_t" 中的数据插入到 "Students_hobby_h" 中:
只复制 Hobby_id = 10 的学生爱好信息 到 "Students_hobby_h" 中:
SELECT INTO FROM 语句
使用 INSERT INTO SELECT 语句时,要求目标表存在。若在目标表不存在的情况下,复制数据可以使用 SELECT INTO FROM 语句 。
SELECT INTO FROM 语句从一个表复制数据,然后把数据插入到另一个新表中,表结构与查询结构一致。
如下,我们可以复制所有的列插入到新表中:
或者,只复制指定的列插入到新表中:
新表将会使用 SELECT 语句中定义的列名称和类型进行创建。您可以使用 AS 子句来应用新名称。
SELECT INTO FROM 实例
创建 Students_hobby_h 的数据备份表:
只复制一些列插入到新表中:
只复制 Hobby_id > 10的学生信息插入到新表中:
复制多个表中的数据插入到新表中: