MySQL 複製表結構

來源:互聯網
上載者:User

標籤:

介紹

 有時候我們需要原封不動的複製一張表的表結構來產生一張新表,MYSQL提供了兩種便捷的方法。

 

例:

CREATE TABLE tb_base(id INT NOT NULL PRIMARY KEY,name VARCHAR(10),KEY ix_name (name))ENGINE=‘MyISAM‘,CHARSET=utf8,COMMENT ‘a‘ ;
insert into tb_base() values(1,‘a‘),(2,‘b‘);

一、LIKE方法

like方法能一模一樣的將一個表的結果複製產生一個新表,包括複製表的備忘、索引、主鍵外鍵、儲存引擎等。

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name    { LIKE old_tbl_name | (LIKE old_tbl_name) }

1.複製表

CREATE  TABLE IF NOT EXISTS tb_base_like (LIKE tb_base); 

2.查看錶

可以看到新複製的表和原表完全一致。

二、SELECT方法

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_nameSELECT ...   (Some valid select or union statement)

 1.複製表

CREATE  TABLE IF NOT EXISTS tb_base_select SELECT * FROM tb_base; 

2.查看錶

 like的方法值複製欄位屬性,其它的主鍵、索引、表備忘、儲存引擎都沒有複製

三、區別

like方法:like方法其實是專門複製表結構的方法,但是它只複製表的結構和相關屬性並不複製資料

select方法:嚴格來講select方法不能理解成複製表結構的方法,其實它只是執行了一個select查詢語句,所以複製的結果只包含了select的欄位和資料,其它表屬性都有系統的設定檔決定;包括儲存引擎、預設字元集等都是有系統的預設配置所決定。

總結

 所以真正的表結構複製方法是LIKE方法,如果不需要考慮表原本的屬性包括儲存引擎、備忘、主鍵、索引等那麼select複製方法是個不錯的方法並且還能連同資料一起複製。

 

 

 

備忘:

    pursuer.chen

    部落格:http://www.cnblogs.com/chenmh

本網站所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明連結。

《歡迎交流討論》

MySQL 複製表結構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.