MySQL複製表的三種方式

複製表結構及其數據

下面這個語句會拷貝數據到新表中。

注意:這個語句其實只是把select語句的結果建一個表,所以新表不會有主鍵,索引。

create table table_name_new as (select * from table_name_old);

只複製表結構

create table table_name_new as select * from table_name_old where 1=2;

或者

create table table_name_new like table_name_old;

注意:前一種方式是不會複製主鍵類型,索引的,而後一種方式是把舊錶的所有字段類型都複製到新表。

只複製表數據

如果兩個表結構一樣

insert into table_name_new select * from table_name_old;

如果兩個表結構不一樣

insert into table_name_new(column1,column2...) select column1,column2... from table_name_old;

注意:很多文章說可以通過如下語句進行數據複製,table_name_new表可以不存在,會在執行的過程中自動創建。其實該SELECT ... INTO形式是使查詢結果存儲在變量或將其寫入文件,即table_name_new是一個變量或者文件。

select column1,column2,.... into table_name_new from table_name_old;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章