ホームページ > データベース > mysql チュートリアル > MySQL テーブル間でデータを効率的にコピーするにはどうすればよいですか?

MySQL テーブル間でデータを効率的にコピーするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-28 02:25:11
オリジナル
299 人が閲覧しました

How to Efficiently Copy Data Between MySQL Tables?

MySQL 内のあるテーブルから別のテーブルへのデータのコピー

MySQL では、あるテーブルから別のテーブルへのデータのコピーは、よく実行される一般的な操作です。データ操作またはセカンダリテーブルの作成。既存のテーブル (テーブル 1) から新しいテーブル (テーブル 2) に特定のフィールドを転送する必要があるシナリオを考えてみましょう。

テーブル 1 は次の列で構成されます:

Column Description
aid Auto-incrementing ID
st_id Student ID
from_uid Sender's ID
to_gid Recipient group's ID
to_uid Receiver's ID
created Creation timestamp
changed Modification timestamp
subject Message subject
message Message content
link Message link

表 2 の構造は異なります:

Column Description
st_id Student ID
uid User ID
changed Modifiedtimestamp
status Current status
assign_status Assignment status

MySQL を使用したデータのコピークエリ

テーブル 1 からテーブル 2 にデータを転送するために、MySQL は SELECT ステートメントで INSERT INTO クエリを使用する便利な方法を提供します。これは、次のクエリを実行することで実現できます:

INSERT INTO table2 (st_id, uid, changed, status, assign_status)
SELECT st_id, from_uid, now(), 'Pending', 'Assigned'
FROM table1;
ログイン後にコピー

クエリの説明:

  • INSERT INTO ステートメントは、ターゲットを指定して挿入操作を初期化します。 table (table2).
  • SELECT ステートメントは Table からデータを取得します1.
  • 列マッピング (例: st_id TO st_id) により、データがテーブル内の適切な列に確実にコピーされます。 2.
  • now() は、テーブル内の変更された列を設定するために使用されます。 2 を現在のタイムスタンプに変換します。
  • status 列と assign_status 列は「Pending」に設定され、それぞれ「割り当て済み」です。
  • クエリを実行すると、データがテーブル 1 からテーブル 2 に転送されます。

追加の考慮事項:

  • テーブル 1 から行のサブセットのみをコピーしたい場合は、WHERE 句を追加できます。
  • 正確なデータ転送を確保するには、両方のテーブルの列のデータ型に互換性があることを確認してください。

以上がMySQL テーブル間でデータを効率的にコピーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート