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版本下載
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END