MySQL數據庫中如何復製表結構?複製表數據內容語句

MySQL數據庫中如何復製表結構?複製表數據內容語句

MySQL的複製表

如果我們需要完全的複制MySQL的數據表,包括表的結構,索引,默認值等。如果僅僅使用CREATE TABLE … SELECT命令,是無法實現的。

本章節將為大家介紹如何完整的複制的MySQL數據表,步驟如下:

  • 使用顯示創建表命令獲取創建數據表(創建表)語句,該語句包含了原數據表的結構,索引等。
  • 複製以下命令顯示的SQL語句,修改數據表名,並執行SQL語句,通過以上命令將完全的複制數據表結構。
  • 如果你想複製表的內容,你就可以使用INSERT INTO … SELECT 語句來實現。

實例

嘗試以下實例來複製表chenweiliang_tbl。

步驟一:

獲取數據表的完整結構。

mysql > SHOW CREATE TABLE chenweiliang_tbl \ G ; *************************** 1. row ******************** ******* Table chenweiliang_tbl
 Create Table CREATE TABLE`chenweiliang_tbl` `chenweiliang_id` int 11 NOT NULL auto_increment `chenweiliang_title` varchar 100 NOT NULL default '' 'chenweiliang_author` varchar 40 NOT NULL 默认'' 
 
         
   
   
   
  `submission_date` 日期默认NULL 
  PRIMARY KEY   `chenweiliang_id` ),
  UNIQUE KEY `AUTHOR_INDEX` `chenweiliang_author` ENGINE = InnoDB的1 集合0.00  
 
  

错误没有指定查询

步驟二:

修改SQL語句的數據表名,並執行SQL語句。

mysql > CREATE TABLE`clone_tbl` - > `chenweiliang_id` int 11 NOT NULL auto_increment - > `chenweiliang_title` varchar 100 NOT NULL default '' - > `chenweiliang_author` varchar 40 NOT NULL default '' - > `submission_date` 日期默认为NULL - > PRIMARY KEY   `chenweiliang_id` ),- > UNIQUE KEY 
    
    
    
   
  
  `AUTHOR_INDEX` `chenweiliang_author` - > ENGINE = InnoDB ; 查询OK 0 行受影响1.80  
 
 

步驟三:

執行完第二步驟後,你將在數據庫中創建新的克隆表clone_tbl。如果你想拷貝數據表的數據你可以使用INSERT INTO … SELECT 語句來實現。

mysql > INSERT INTO clone_tbl chenweiliang_id - >                         chenweiliang_title - >                         chenweiliang_author - >                         submission_date - > SELECT chenweiliang_id chenweiliang_title - >         chenweiliang_author submission_date
     - > FROM chenweiliang_tbl ; 查询OK 3 行受影响0.07 记录3 重复0
    
    
    
    
    
 
      警告0 

執行以上步驟後,你將完整的複製表,包括表結構及表數據。

另一種複製表方法

另一種完整復製表的方法:

CREATE TABLE targetTable LIKE sourceTable ; 
INSERT INTO targetTable SELECT * FROM sourceTable ;

其他:

可以拷貝一個表中其中的一些字段:

CREATE TABLE newadmin AS
 
    SELECT用户名密码从管理员
 

可以將新建的表的字段改名:

CREATE TABLE newadmin AS
   
    SELECT id username AS uname password AS pass FROM admin
 

可以拷貝一部分數據:

CREATE TABLE newadmin AS
 
    SELECT * FROM admin WHERE LEFT username 1 = 's'   

可以在創建表的同時定義表中的字段信息:

CREATE TABLE newadmin
 
    id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY

    SELECT * FROM admin
   

希望陳溈亮博客( https://www.chenweiliang.com/ ) 分享的《MySQL數據庫中如何復製表結構?複製表數據內容語句》,對您有幫助。

歡迎分享本文鏈接:https://www.chenweiliang.com/cwl-490.html

歡迎加入陳溈亮博客的Telegram 頻道,獲取最新更新!

🔔 率先在頻道置頂目錄獲取寶貴的《ChatGPT 內容行銷AI 工具使用指南》! 🌟
📚 這份指南蘊含價值巨大,🌟難逢的機遇,切勿錯失良機! ⏰⌛💨
喜歡就分享和按贊!
您的分享和按贊,是我們持續的動力!

 

發表評論

您的電子郵箱地址不會被公開。 必填項已用 * 標註

滾動到頂部