SQL中使用insertintoselect和selectintofrom
使用场合
一个表中数据使用另外一个表中获取的或者一个表的数据增加一条。
insert into select
INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。目标表中任何已存在的行都不会受影响。
SQL INSERT INTO SELECT 语法
- 从一个表中复制所有的列插入到另一个已存在的表中:
INSERT INTO table2SELECT * FROM table1[where];
[]--表示可以使用where来确定条件。
举例如下:
insert into menu_tree
select * from menu_tree
where sid="6";
- 只复制希望的列插入到另一个已存在的表中:
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 语法
- 复制所有的列插入到新表中:
SELECT *INTO newtable [IN externaldb]
FROM table1;
sqlserver中已测试,Oracle中未做测试。oracle中,这个select into不能在语句中执行,必须要放到存储过程,函数等等里边执行。
- 只复制希望的列插入到新表中:
SELECT column_name(s)INTO newtable [IN externaldb]
FROM table1;
sqlserver中已测试,Oracle中未做测试。oracle中,这个select into不能在语句中执行,必须要放到存储过程,函数等等里边执行
以上是 SQL中使用insertintoselect和selectintofrom 的全部内容, 来源链接: utcz.com/z/511275.html