MySQL-mysql中SELECT INTO FROM与INSERT INTO SELECT 有何区别?

MySQL-mysql中SELECT INTO FROM与INSERT INTO SELECT 有何区别?

甜柠檬 发布于 2017-01-21 字数 232 浏览 1028 回复 1

需求是从一个表中把数据导出到另一个表中,方式有2种:
Insert into Table2(field1,field2,...) select value1,value2,... from Table1
SELECT vale1, value2 into Table2 from Table1
这两种方式的区别在哪里?性能有何差异?

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

想挽留 2017-07-03 1 楼

在关之前回答你一下吧,这个应该是属于基本问题,Google、百度一大堆:

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中。

对于性能来讲应该都差不多,具体的没有测试过。