select?into?from和insert?into?select的使用举例详解(用select语句创建表)不要告诉别人

随心笔谈2年前发布 编辑
140 0
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买



目录1. SELECT INTO 语句1.1 SELECT INTO 语法2. INSERT INTO SELECT 语句2.1 INSERT INTO SELECT 语法3. select into from 和 insert into select 区别4. 复制表结构及其数据5.只复制表结构6.只复制表数据6.1 两个表结构一样总结

用途:SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中,表结构与查询结构一致。

PS:MySQL不支持SELECT INTO语法

复制所有的列插入到新表中。

SELECT *
INTO newtable
FROM table1;

或者只复制希望的列插入到新表中:

SELECT column_name(s)
INTO newtable
FROM table1;

提示:新表将会使用 SELECT 语句中定义的列名称和类型进行创建。以使用 AS 子句来应用新名称。

INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。

从一个表中复制所有的列插入到另一个已存在的表中:

INSERT INTO table2
SELECT * FROM table1;

只复制希望的列插入到另一个已存在的表中:

INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

select into from 要求目标表不存在,因为在插入时会自动创建;

insert into select from 要求目标表存在

create table table_name_new
as
select * from table_name_old;

原理就是使得where后边条件为假。

create table table_name_new as select * from table_name_old where 1=2;

或者

create table table_name_new like table_name_old;
insert into table_name_new select * from table_name_old;

6.2 两个表结构不一样

insert into table_name_new(column1,column2…) select column1,column2… from table_name_old;

只能插入相同字段数据。

到此这篇关于select into from和insert into select使用的文章就介绍到这了,更多相关select into from和insert into select内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:数据库插入数据之select into from与insert into select区别详解INSERT INTO SELECT语句与SELECT INTO FROM语句的一些区别insert into tbl() select * from tb2中加入多个条件

© 版权声明

相关文章