当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《将表的所有值插入SQL中的另一个表中》经验,为你挑选了4个好方法。

我试图将一个表的所有值插入另一个表.但insert语句接受值,但我希望它接受来自initial_Table的select*.这可能吗?



1> Matt Hamilto..:

insert语句实际上有一个语法来做到这一点.如果指定列名而不是选择"*",则会更容易:

INSERT INTO new_table (Foo, Bar, Fizz, Buzz)
SELECT Foo, Bar, Fizz, Buzz
FROM initial_table
-- optionally WHERE ...

我最好澄清这一点,因为出于某种原因,这篇文章得到了一些低票.

INSERT INTO ... SELECT FROM语法适用于您插入的表(上例中的"new_table")已存在的情况.正如其他人所说,SELECT ... INTO语法适用于您希望在命令中创建新表的时间.

您没有指定是否需要将新表创建为命令的一部分,因此如果目标表已存在,则INSERT INTO ... SELECT FROM应该没有问题.


Wha--?有人想给我一个评论,解释为什么这篇文章产生了低票?我在OPs问题中没有看到任何指定新表应该作为查询的一部分创建的内容.

2> 小智..:

试试这个:

INSERT INTO newTable SELECT * FROM initial_Table


当我们有标识列时使用星标时不起作用

3> 小智..:

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

INSERT INTO new_table (columns....)
SELECT columns....
FROM initial_table where column=value



4> Otávio Décio..:

从这里:

SELECT *
INTO new_table_name [IN externaldatabase] 
FROM old_tablename

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有