欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL的create table as 与create table like区别

程序员文章站 2022-06-03 08:03:42
...
最近在进行数据库表备份时,遇到一个坑:create table 的用法上,有关索引丢失的问题。
 
对于mysql的复制相同表结构方法,有  create table ascreate table like 两种:
 
create table t2 as select * from t1;  --> 创建表(不包含索引)并插入信息

as创建出来的t2表(新表)缺少t1表(源表)的索引信息,只有表结构相同,没有索引。

create table t2 like t1; --> 创建表(包含索引)
insert into t2 select * from t1; --> 插入信息

like 创建出来的新表包含源表的完整表结构和索引信息

二者的用途:
  • as用来创建相同表结构并复制源表数据
  • like用来创建完整表结构和全部索引
相关标签: mysql sql