2-MySQL-SELECT INTO语句

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

INSERT INTO table2 
SELECT * FROM table1; 

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

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

举例:
复制 “apps” 中的数据插入到 “Websites” 中:


```handlebars
INSERT INTO Websites (name, country) 
SELECT app_name, country FROM apps; 

注:select into from 和 insert into select 都是用来复制表
两者的主要区别为: select into from 要求目标表不存在,因为在插入时会自动创建;insert into select from 要求目标表存在。
1. 复制表结构及其数据:

```handlebars
create table table_name_new  
as  select * from table_name_old 
  1. 只复制表结构:
create table table_name_new  
as  select * from table_name_old where 1=2; 

或者:

create table table_name_new  
like table_name_old 
  1. 只复制表数据:
    如果两个表结构一样:
insert into table_name_new  
select *  from table_name_old 

如果两个表结构不一样:

insert into table_name_new(column1,column2...)  
select column1,column2...  from table_name_old 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值