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`

About: adminuser


1 thought on “MySQLでテーブル、フィールドをコピーする”

Leave a Reply

Your email address will not be published. Required fields are marked *