MySQLでテーブル、フィールドをコピーする
とあるテーブルを違うテーブルに丸々コピーしたいとき。
一度でできる指定はないので、CREATEでテーブルを作ってから、中身をINSERTします。
テーブルをコピーする
INSERT INTO `TO_DB`.`TO_TABLE` SELECT * FROM `FROM_DB`.`FROM_TABLE`;
(例)
DB_NAMEというデータベースのconstructionというテーブルのバックアップを作りたい場合。
まずCREATE TABLEでconstructionBAKなどを作り…
INSERT INTO `DB_NAME`.`constructionBAK` SELECT * FROM `DB_NAME`.`construction`;
DB_NAMEのところを変更すれば、違うデータベースからのコピーもできます。
フィールドをコピーする
とあるテーブルのフィールドの中身を違うフィールドにコピーするのは簡単です。
UPDATE `TABLE` set `TO_FIELD`=`FROM_FIELD`
(テーブルTABLEのFROM_FIELDの内容がTO_FIELDにコピーされます)
(例)constructionのH1_TEXTをH2_TEXTにコピーする。
広告
UPDATE `construction` set `H2_TEXT`=`H1_TEXT`
1 thought on “MySQLでテーブル、フィールドをコピーする”