English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MySQLのデータベーステーブルを完全にコピーする必要がある場合、テーブルの構造、インデックス、デフォルト値などが含まれます。 ただでさえCREATE TABLE ... SELECT コマンドは実行できません。
本節では、MySQLデータベーステーブルを完全にコピーする方法について説明します。以下のステップで実行します:
を使用して SHOW CREATE TABLE コマンドを使用してデータベーステーブルの作成を取得します。CREATE TABLE) このコマンドは、元のデータベーステーブルの構造、インデックスなどが含まれる文です。
以下のコマンドで表示されたSQL文をコピーし、データベーステーブル名を変更してSQL文を実行します。 データベーステーブルの完全な構造をコピーします。
テーブルの内容をコピーしたい場合は、以下を使用します。 INSERT INTO ... SELECT 文を実行することで達成できます。
テーブル w をコピーするための以下の例を試みます。3codebox_tbl 。
ステップ1:
データベーステーブルの完全な構造を取得します。
mysql> SHOW CREATE TABLE w3codebox_tbl \G; *************************** 1. row *************************** Table: w3codebox_tbl Create Table: CREATE TABLE `w3codebox_tbl` ( `w3codebox_id` int(11) NOT NULL auto_increment, `w3codebox_title` varchar(100) NOT NULL default '', `w3codebox_author` varchar(40) NOT NULL default '', `submission_date` date default NULL, PRIMARY KEY (`w3codebox_id`), UNIQUE KEY `AUTHOR_INDEX` (`w3codebox_author`) ) ENGINE=InnoDB 1 row in set (0.00 sec) ERROR: No query specified
ステップ2:
SQL文のデータベーステーブル名を変更し、SQL文を実行します。
mysql> CREATE TABLE `clone_tbl` ( -> `w3codebox_id` int(11) NOT NULL auto_increment, -> `w3codebox_title` varchar(100) NOT NULL default '', -> `w3codebox_author` varchar(40) NOT NULL default '', -> `submission_date` date default NULL, -> PRIMARY KEY (`w3codebox_id`), -> UNIQUE KEY `AUTHOR_INDEX` (`w3codebox_author`) -> ) ENGINE=InnoDB; Query OK, 0 rows affected (1.80 sec)
ステップ3:
第2ステップを実行すると、データベースに新しいクローンテーブル clone_tbl が作成されます。 データテーブルのデータをコピーしたい場合は、以下の INSERT INTO... SELECT 文を実行することで達成できます。
mysql> INSERT INTO clone_tbl (w3> codebox_id, -> w3> codebox_title, -> w3> codebox_author, -> submission_date) -> SELECT w3> codebox_id,w3> codebox_title, -> w3> codebox_author,submission_date -> FROM w3codebox_tbl; Query OK, 3 rows affected (0.07 sec) レコード: 3 重複: 0 警告: 0
以上のステップを実行すると、テーブルの構造とテーブルデータを含むテーブルの内容が完全にコピーされます。