程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL 復制表結構,mysql復制結構

MySQL 復制表結構,mysql復制結構

編輯:MySQL綜合教程

MySQL 復制表結構,mysql復制結構


介紹

 有時候我們需要原封不動的復制一張表的表結構來生成一張新表,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_name
SELECT ...   (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

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

《歡迎交流討論》

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved