首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在SQL中将一个表的所有值插入另一个表中

在SQL中将一个表的所有值插入另一个表中
EN

Stack Overflow用户
提问于 2009-02-23 03:23:54
回答 7查看 422.5K关注 0票数 138

我正在尝试将一个表的所有值插入到另一个表中。但是insert语句接受值,但我希望它接受initial_Table中的select *。这个是可能的吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-02-23 03:26:03

insert语句实际上有这样做的语法。不过,如果您指定列名而不是选择"*“,则会容易得多:

代码语言:javascript
复制
INSERT INTO new_table (Foo, Bar, Fizz, Buzz)
SELECT Foo, Bar, Fizz, Buzz
FROM initial_table
-- optionally WHERE ...

我最好澄清这一点,因为出于某种原因,这篇文章受到了一些反对票的反对。

插入到...SELECT FROM语法用于当您要插入到的表(在上面的示例中为“new_table”)已经存在时。正如其他人所说,选择...INTO语法适用于要在命令中创建新表的情况。

您没有指定是否需要在命令中创建新表,因此INSERT INTO ...如果您的目标表已经存在,SELECT FROM应该可以。

票数 275
EN

Stack Overflow用户

发布于 2010-04-21 17:35:06

试试这个:

代码语言:javascript
复制
INSERT INTO newTable SELECT * FROM initial_Table
票数 26
EN

Stack Overflow用户

发布于 2011-08-22 10:08:39

可以使用子查询插入,如下所示:

代码语言:javascript
复制
INSERT INTO new_table (columns....)
SELECT columns....
FROM initial_table where column=value
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/576441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档