1. 程式人生 > 資料庫 >MySQL複製表的三種方式(小結)

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;

到此這篇關於MySQL複製表的三種方式(小結)的文章就介紹到這了,更多相關MySQL 複製表內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!