CREATE TABLE 表名 AS SELECT 语句
1.新表不存在
1 | 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 | insert into new_table select * from old_table; |
复制旧表数据到新表(假设两个表结构不一样)
1 | insert into new_table(field1,field2,.....) select field1,field2,field3 from old_table; |
复制全部数据
1 2 | select * into new_table from old_table; |
只复制表结构到新表
1 | select * into new_talble from old_table where 1=2; |
1 2 3 | 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 条件不成立时,只复制表结构,没有任务数据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!