INSERT INTO SELECT 复制数据语句

1.INSERT INTO SELECT基础用法是从一个表复制数据,然后把数据插入到一个已存在的表中。目标表中任何已存在的行都不会受影响。

INSERT INTO table2 SELECT * FROM table1;
或者
INSERT INTO table2 (colum_name, ...) SELECT column_name, ... FROM table1;

2.还可以传值赋值和复制字段同时进行

INSERT INTO table (name, original_price, sale_price, type) SELECT #{newName} as name, 
#{newlPrice} as original_price, original_price, type FROM table where id = #{id}

3.SELECT INTO FROM 和 INSERT INTO SELECT
区别:要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中

SELECT colum_name1, vcolum_name2 into table2 from table1

以上都是只适合两张表操作, 如果复制的表是多个, 那么可以先把要复制的表们创建成视图, 再复制。

你可能感兴趣的:(软件开发)