對於MySQL的復制相同表結構方法,有create table as 和create table like 兩種,區別是什么呢?
create table t2 as select * from t1 where 1=2;
或者 limit 0;
as創建出來的t2表(新表)缺少t1表(源表)的索引信息,只有表結構相同,沒有索引。
create table t2 like t1 ;
like 創建出來的新表包含源表的完整表結構和索引信息。
二者的用途:
as用來創建相同表結構並復制源表數據。
like用來創建完整表結構和全部索引。
oracle支持as,也是只有表結構沒有索引,oracle不支持like。
兩種方式在復制表的時候均不會復制權限對表的設置。比如說原本對表B做了權限設置,復制后,表A不具備類似於表B的權限。