CREATE TABLE 表名 AS SELECT 语句
2024-10-18 16:55:22
1.新表不存在
复制表结构即数据到新表
1
2
|
create table new_table select * from old_talbe; |
这种方法会将old_table中所有的内容都拷贝过来,用这种方法需要注意,new_table中没有了old_table中的primary key,Extra,auto_increment等属性,需要自己手动加,具体参看后面的修改表即字段属性.
只复制表结构到新表
1
2
3
4
5
6
|
# 第一种方法,和上面类似,只是数据记录为空,即给一个 false 条件 create table new_table select * from old_table where 1=2; # 第二种方法 create table new_table like old_table; |
2.新表存在
复制旧表数据到新表(假设两个表结构一样)
1
2
|
insert into new_table select * from old_table; |
复制旧表数据到新表(假设两个表结构不一样)
1
2
|
insert into new_table(field1,field2,.....) select field1,field2,field3 from old_table; |
复制全部数据
1
|
select * into new_table from old_table; |
只复制表结构到新表
1
|
select * into new_talble from old_table where 1=2; |
create table a like b;
create table c_relation as select c.memberId,m.merchantId,memb.phone from c_merchant as m inner join c_customer c on c.userId=m.userId inner join c_member memb on memb.id=c.memberId where memb.status=10;
由上面的使用 CREATE TABLE 表名 AS SELECT 语句可以看出:
1:只会复制表数据和表结构,不会有任何约束。
2:当 where 条件不成立时,只复制表结构,没有任务数据。
最新文章
- ArcGIS Server开发教程系列(1)	Arcgis server 10.1 的安装
- JS的三种弹框
- You need tcl 8.5 or newer in order to run the Redis test
- 【转】Android 布局学习之——LinearLayout属性baselineAligned的作用及baseline
- xxx couldn't be loaded because it has not been added to the build settings.
- Poetize6: IncDec Sequence
- Java学习笔记--“==”与";equals";
- ibatis之##与$$的 使用
- HDU 1240 Asteroids!
- 生产都消费者模式的一个demo,消费者设置缓存
- tar解压
- Bootstrap学习 - 全局CSS样式
- jquery data属性的使用
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(七)Ability的信息传递等
- protobuf 原理
- 第十节: 利用SQLServer实现Quartz的持久化和双机热备的集群模式 :
- django/python日志logging 的配置以及处理
- migrate数据库迁移
- BigDecimal四舍五入保留两位小数
- AspNetPager 控件使用