Mysql 更新マルチテーブル共同更新方法の概要

Mysql 更新マルチテーブル共同更新方法の概要

次に、2 つのテーブルを作成し、一連の SQL 文を実行します。SQL 文の実行後にテーブル内のデータがどのように変化するかを注意深く観察すると、マルチテーブル結合更新の使用方法を簡単に理解できます。

生徒テーブル クラステーブル

1. UPDATE student s 、class c SET s.class_name='test00',c.stu_name='test00' WHERE s.class_id = c.idを実行します。

生徒テーブル クラステーブル

2. UPDATE student s JOIN class c ON s.class_id = c.id SET s.class_name='test11',c.stu_name='test11' を実行します。

生徒テーブル クラステーブル

3. UPDATE student s LEFT JOIN class c ON s.class_id = c.id SET s.class_name='test22',c.stu_name='test22' を実行します。

生徒テーブル クラステーブル

4. UPDATE student s RIGHT JOIN class c ON s.class_id = c.id SET s.class_name='test33',c.stu_name='test33' を実行します。

生徒テーブル クラステーブル

5. UPDATE student s JOIN class c ON s.class_id = c.id SET s.class_name=c.name、c.stu_name=s.nameを実行します。

生徒テーブル クラステーブル

追加の知識ポイント:

MySQL マルチテーブル関連付けの更新

日常の開発では、通常、単一テーブルの更新ステートメントを記述し、複数のテーブルを関連付ける更新を記述することはほとんどありません。

SQL Server とは異なり、MySQL では、複数テーブル結合更新と選択用の複数テーブル結合クエリに使用される方法に若干の違いがあります。

具体的な例を見てみましょう。

注文の更新
  左のユーザーに参加u
    o.userId = u.idの場合
o.userName = u.name を設定します。

上記の例では、update キーワードの後に​​、複数テーブルの関連付けの結果セットが続きます。MySQL は、この複数テーブルの関連付けの結果セットを単一のテーブルとして直接扱い、この単一のテーブルに基づいて通常の更新操作を実行します。

SQL Server との若干の違いは、SQL Server の set 句は更新する特定のテーブルに従うのに対し、MySQL の set 文は更新する結果セットに従う点です (更新する特定のテーブルは set 文で設定されます)。

要約する

これで、MySQL 更新のマルチテーブル共同更新方法の概要に関するこの記事は終了です。より関連性の高い MySQL 更新のマルチテーブル共同更新コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL のバッチ更新と複数レコードの異なる値のバッチ更新
  • MySQLでバッチを更新するいくつかの方法
  • MySQLデータテーブルフィールドの内容に対するバッチ変更、クリア、コピー、その他の更新コマンド
  • MySQLは異なるテーブルのデータのバッチ更新を実装します

<<:  Linuxコマンドに基づいてフォルダー内の特定のファイルパスを抽出します

>>:  Windows 2008 タスク プランが bat スクリプトの実行に失敗したときに 0x1 を返す問題の解決方法

推薦する

LAMP ソースコードを使用したエンタープライズレベルのインストールチュートリアル

目次LAMPアーキテクチャ1.ランプの紹介2. WebサービスワークフローWebサーバーのリソースは...

MySQL/MariaDB で完全な Unicode をサポートする方法

目次utf8mb4 の紹介UTF8 バイト数超過エラーutf8mb4 サポートデフォルトの文字エンコ...

Linux システムによって報告される tcp_mark_head_lost エラーの処理方法

問題の説明最近、ホストから次のカーネル情報が報告されました。 7月8日 10:47:42 cztes...

Vue ページ状態の永続化の詳細な説明

目次コード:補充:要約する要件: 左のツリーと右のテーブル。組織ツリーでノードを選択した後、詳細ペー...

Linux 上で Docker コンテナを作成、一覧表示、削除する方法の概要

1. Dockerコンテナを起動する以下のコマンドを使用して新しい Docker コンテナを起動しま...

Mac ノードの削除と再インストールのケーススタディ

Macノードの削除と再インストール消去 ノード -v sudo npm アンインストール npm -...

SQL 面接の質問: 時間差の合計を求める (重複は無視)

ある会社の BI 職の面接を受けたとき、面接で SQL に関する質問がありました。一見すると非常に簡...

js における関数のネストとクロージャの詳細

目次1. 範囲2. 関数の戻り値3. 関数のネスト4. 終了5. クロージャの実用的応用1. 内部変...

Windows 10 に MySQL 8.0.19 を zip 形式でインストールする詳細なチュートリアル

目次1.ダウンロード後、インストールしたいディレクトリに解凍します。 2. インストールディレクトリ...

Vue は小数点付きの星評価を実装します

この記事では、小数点付きの星評価を実装するためのVueの具体的なコードを参考までに共有します。具体的...

Webpack コンポーネントの使用状況統計を実装するための 50 行のコード

背景最近、リーダーからコンポーネント ライブラリを構築するように依頼があり、プロジェクトで現在使用さ...

JS 日付コントロール My97DatePicker の基本的な使い方

My97DatePicker は非常に柔軟で使いやすい日付コントロールです。使い方はとても簡単です。...

MySQL で最大接続数を設定するためのヒントのまとめ

方法1: コマンドラインの変更次の図に示すように、MySQL コンソールを開いて「set GLOBA...

データベース管理における 19 の MySQL 最適化方法

MySQL データベースを最適化すると、データベースの冗長性を削減できるだけでなく、データベースの実...