Info2softは、ウェブサイトでより快適で適切な閲覧体験を提供するためにCookieを使用しています。 プライバシーポリシー
Loading...
実際のデータベース運用において、MySQLテーブルを別のデータベースへコピーする状況は頻繁に発生します。開発環境から本番環境へデータを移行したり、安全のためバックアップを作成したり、複数のアプリケーションで特定のデータセットを共有したりするケースが考えられます。理由はどうあれ、データベース間でテーブルを効率的にコピーする方法を習得すれば、手作業の時間を大幅に削減し、重大な人的ミスを防ぐことが可能です。
大規模システムや複数プロジェクトを管理する場合、開発者は複数のデータベースを保有することが一般的です。例えばテスト用、ステージング用、本番運用用といったように分けて運用します。このような環境でデータベース間のテーブルコピーが実施できれば、データの整合性を保ち、環境間のスムーズな移行を実現できます。また、データの再編成、システム統合、分析用に一部データを抽出する際にも役立ちます。
本ガイドでは、同一サーバー上または異なるサーバー間を問わず、MySQLテーブルを別データベースへコピーする最も効果的な手法を紹介します。CREATE TABLE … SELECTといった簡易なSQL文から、mysqldump、MySQL Workbenchといった強力なツールまで、コマンドラインとGUIの両方の手段を解説し、安全かつ効率的なデータ転送を支援します。
環境や目的に応じて、MySQLテーブルを別データベースへコピーする実用的な方法は複数存在します。SQLクエリ、コマンドラインツール、GUIのいずれを利用する場合でも、MySQLには迅速かつ安全にデータ移行を行う柔軟な手段が用意されています。
同一MySQLサーバー内でテーブルをコピーする最速の手段の一つです。コピー先データベースに新しいテーブルを作成し、コピー元テーブルのデータを即時登録します。
CREATE TABLE new_database.table_name AS
SELECT * FROM old_database.table_name;
✅ メリット:
⚠️ デメリット:
データのみ必要で、後からインデックスを再作成できる場合は、この手法が最適です。
コピー先テーブルがすでに存在し、データのみ追加したい場合に使用します。コピー先テーブルはコピー元と互換性のある構造である必要があります。
INSERT INTO new_database.table_name
SELECT * FROM old_database.table_name;
✅ メリット:
⚠️ デメリット:
異なるサーバー間でテーブルをコピーする場合や、大容量データを扱う際に適したコマンドラインツールです。テーブルをSQL文として出力し、別のデータベースにインポートできます。
mysqldump -u root -p old_database table_name | mysql -u root -p new_database
✅ メリット:
⚠️ デメリット:
補足:–no-dataオプションで構造のみ出力、–whereオプションでレコードを絞り込むことができます。
GUIツールを好む方向けに、MySQL WorkbenchとphpMyAdminにはユーザーフレンドリーなテーブルコピー機能が搭載されています。
MySQL Workbenchの操作手順:
手順1.コピー対象のテーブルを右クリック
手順2.Table Data Export WizardまたはCopy Table to Another Schemaを選択
手順3.コピー先データベースを選択し、処理を開始
phpMyAdminの操作手順:
手順1.コピー元テーブルを選択
手順2.操作 →「テーブルを別のデータベースにコピー」を選択
手順3.コピー先データベースを指定し実行
✅ メリット:
⚠️ デメリット:
複数のデータベースや大規模MySQL環境を運用するチームには、専用のデータベースレプリケーションソフトi2Streamが適しています。本ソリューションは、異なるMySQLデータベース間でテーブルをリアルタイムにコピー・同期する強力な自動化機能を提供します。
手動SQLやコマンドラインとは異なり、i2Streamは継続的なデータストリーミング、スキーマ移行、異なるデータベースやサーバーをまたいだ双方向同期に対応するデータレプリケーションプラットフォームです。ほぼゼロダウンタイムで安定したデータ連携を求める企業向けに設計されています。
コピー元MySQLデータベースから挿入、更新、削除といったデータ変更を取得し、自動的にコピー先データベースへ反映します。業務トランザクションが実行されている間でも、双方のデータベースの同期状態を維持します。
i2Streamの主な強み
MySQLテーブルを別データベースへコピーする適切な手法は、運用環境、データ規模、更新頻度によって選択する必要があります。一度限りの作業であれば標準のSQLコマンドで十分です。継続的なリアルタイム連携や企業規模のレプリケーションを行う場合は、i2Streamのような堅牢なソリューションを活用することで、データの整合性を保ち、手間を削減し、複数のデータベースを容易に同期させられます。