1. SELECT INTO 语句
用途:SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中,表结构与查询结构一致。
PS:MySQL不支持SELECT INTO语法。
1.1 SELECT INTO 语法
复制所有的列插入到新表中。
SELECT*INTO newtable
FROM table1;
或者只复制希望的列插入到新表中:
SELECT column_name(s)INTO newtable
FROM table1;
提示:新表将会使用 SELECT 语句中定义的列名称和类型进行创建。以使用 AS 子句来应用新名称。
2. INSERT INTO SELECT 语句
INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。
2.1 INSERT INTO SELECT 语法
从一个表中复制所有的列插入到另一个已存在的表中:
INSERTINTO table2
SELECT*FROM table1;
只复制希望的列插入到另一个已存在的表中:
INSERTINTO table2
(column_name(s))SELECT column_name(s)FROM table1;
3. select into from 和 insert into select 区别
select into from 要求目标表不存在,因为在插入时会自动创建;
insert into select from 要求目标表存在。
4. 复制表结构及其数据
createtable table_name_new
asselect*from table_name_old;
5.只复制表结构
原理就是使得where后边条件为假。
createtable table_name_new asselect*from table_name_old where1=2;
或者
createtable table_name_new like table_name_old;
6.只复制表数据
6.1 两个表结构一样
insertinto table_name_new select*from table_name_old;
6.2 两个表结构不一样
insertinto table_name_new(column1,column2...)select column1,column2...from table_name_old;
只能插入相同字段数据。
版权归原作者 Spring的思念 所有, 如有侵权,请联系我们删除。