mysql从一张表复制数据到另一张表,mysql 复制表数据到另一个表

在MySQL中复制A表数据到B表中,有两种方式可以实现,INSERT INTO SELECT 语句和 INSERT INTO SELECT 语句,分别适应于B表存在以及B表不存在的两种场景。

接下来,我们详细的了解一下,如何使用 INSERT INTO SELECT 语句和 INSERT INTO SELECT 语句实现数据复制,为了方便演示,我们使用如下 Students_hobby_t(原始表) 和 Students_hobby_h(目标表) 两张表作为演示数据,如下:

mysql从一张表复制数据到另一张表,mysql 复制表数据到另一个表


INSERT INTO SELECT 语法

INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。目标表中任何已存在的数据不会受影响。

如下,我们可以从原始表中复制所有的列插入到另一个已存在的目标表中:

mysql从一张表复制数据到另一张表,mysql 复制表数据到另一个表

或者,我们可以只复制特定的列插入到另一个已存在的目标表中:

mysql从一张表复制数据到另一张表,mysql 复制表数据到另一个表

INSERT INTO SELECT 实例

复制 "Students_hobby_t" 中的数据插入到 "Students_hobby_h" 中:

mysql从一张表复制数据到另一张表,mysql 复制表数据到另一个表

只复制 Hobby_id = 10 的学生爱好信息 到 "Students_hobby_h" 中:

mysql从一张表复制数据到另一张表,mysql 复制表数据到另一个表

 


SELECT INTO FROM 语法

使用 INSERT INTO SELECT 语句时,要求目标表存在。若在目标表不存在的情况下,复制数据可以使用 SELECT INTO FROM 语句 。

SELECT INTO FROM 语句从原始表复制数据,然后把数据插入到另一个新的目标表中,表结构与查询结构一致。

如下,我们可以从原始表复制所有的列插入到新的目标表中:

mysql从一张表复制数据到另一张表,mysql 复制表数据到另一个表

或者,只复制指定的列插入到新的目标表中:

mysql从一张表复制数据到另一张表,mysql 复制表数据到另一个表

新表将会使用 SELECT 语句中定义的列名称和类型进行创建。您可以使用 AS 子句来应用新名称。

SELECT INTO FROM 实例

创建 Students_hobby_h 的数据备份表 Students_hobby_h_backup:

mysql从一张表复制数据到另一张表,mysql 复制表数据到另一个表

只复制某几列插入到新的目标表中:

mysql从一张表复制数据到另一张表,mysql 复制表数据到另一个表

只复制符合指定条件的数据插入到新的目标表中:

mysql从一张表复制数据到另一张表,mysql 复制表数据到另一个表

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

mysql从一张表复制数据到另一张表,mysql 复制表数据到另一个表

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论