詳解MySQL復制表的功能及實例代碼

mysql 復制表

如果我們需要完全的復制mysql的數據表,包括表的結構,索引,默認值等。 如果僅僅使用create table … select?命令,是無法實現的。

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

使用?SHOW CREATE TABLE?命令獲取創建數據表(CREATE TABLE) 語句,該語句包含了原數據表的結構,索引等。

復制以下命令顯示的SQL語句,修改數據表名,并執行SQL語句,通過以上命令 將完全的復制數據表結構。

如果你想復制表的內容,你就可以使用?INSERT INTO … SELECT?語句來實現。

實例

嘗試以下實例來復制表 tutorials_tbl 。

步驟一:

獲取數據表的完整結構。

mysql>?SHOW?CREATE?TABLE?tutorials_tbl?G;  ***************************?1.?row?***************************  ???????Table:?tutorials_tbl  Create?Table:?CREATE?TABLE?`tutorials_tbl`?(  ??`tutorial_id`?int(11)?NOT?NULL?auto_increment,  ??`tutorial_title`?varchar(100)?NOT?NULL?default?'',  ??`tutorial_author`?varchar(40)?NOT?NULL?default?'',  ??`submission_date`?date?default?NULL,  ??PRIMARY?KEY??(`tutorial_id`),  ??UNIQUE?KEY?`AUTHOR_INDEX`?(`tutorial_author`)  )?TYPE=MyISAM  1?row?in?set?(0.00?sec)  ERROR:  No?query?specified

步驟二:

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

mysql>?CREATE?TABLE?`clone_tbl`?(  ??->?`tutorial_id`?int(11)?NOT?NULL?auto_increment,  ??->?`tutorial_title`?varchar(100)?NOT?NULL?default?'',  ??->?`tutorial_author`?varchar(40)?NOT?NULL?default?'',  ??->?`submission_date`?date?default?NULL,  ??->?PRIMARY?KEY??(`tutorial_id`),  ??->?UNIQUE?KEY?`AUTHOR_INDEX`?(`tutorial_author`)  ->?)?TYPE=MyISAM;  Query?OK,?0?rows?affected?(1.80?sec)

步驟三:

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

mysql>?INSERT?INTO?clone_tbl?(tutorial_id,  ????->????????????????????????tutorial_title,  ????->????????????????????????tutorial_author,  ????->????????????????????????submission_date)  ????->?SELECT?tutorial_id,tutorial_title,  ????->????????tutorial_author,submission_date  ????->?FROM?tutorials_tbl;  Query?OK,?3?rows?affected?(0.07?sec)  Records:?3??Duplicates:?0??Warnings:?0

執行以上步驟后,你將完整的復制表,包括表結構及表數據。

【相關推薦】

1.?特別推薦“php程序員工具箱”V0.1版本下載

2.“php程序員工具箱”V0.1版本下載“php程序員工具箱”V0.1版本下載

3.?“php程序員工具箱”V0.1版本下載“php程序員工具箱”V0.1版本下載

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享