SQL中使用insert into select和 select into from

亡梦爱人 提交于 2019-12-05 23:39:14

使用场合

一个表中数据使用另外一个表中获取的或者一个表的数据增加一条。

insert into select

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

SQL INSERT INTO SELECT 语法

  1. 从一个表中复制所有的列插入到另一个已存在的表中:
INSERT INTO table2
SELECT * FROM table1[where];

[]--表示可以使用where来确定条件。

举例如下:

insert into 
menu_tree
select * from menu_tree
where sid='6';
  1. 只复制希望的列插入到另一个已存在的表中:
INSERT INTO table2
(column_name(s))
SELECT column_value(s)
FROM table1;

column_name(s)--表示表中存在的列,column_value(s)--表示这些列对应的值。

举例如下:

insert into menu_tree(SID,CODE,NAME,ORDER_VAL)
select '10','10','一个部','10' from menu_tree where sid = '6'

select insert into

SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。

注意:

MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT INTO ... SELECT 。

SQL SELECT INTO 语法

  1. 复制所有的列插入到新表中:
SELECT *
INTO newtable [IN externaldb]
FROM table1;

sqlserver中已测试,Oracle中未做测试。oracle中,这个select into不能在语句中执行,必须要放到存储过程,函数等等里边执行。

  1. 只复制希望的列插入到新表中:
SELECT column_name(s)
INTO newtable [IN externaldb]
FROM table1;

sqlserver中已测试,Oracle中未做测试。oracle中,这个select into不能在语句中执行,必须要放到存储过程,函数等等里边执行

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!