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 を返す問題の解決方法

推薦する

メニューのホバー効果を実現するCSS3

結果: html <nav id="nav-1"> <a cl...

rem をモバイル デバイスに適応させる方法の例

序文モバイル端末のREM適応ソリューションのレビューと概要remの使い方rem 単位の計算は、HTM...

MySQL データベース内の varchar 型の数値のサイズを比較する方法

テストテーブルを作成する -- ---------------------------- -- ch...

Linux (Ubuntu 18.04) に vim エディタをインストールする方法

デスクトップ システムをダウンロードするには、Ubuntu の公式 Web サイト (https:/...

複数の古いプレーヤーの埋め込みコード

ウェブページに表示されるプレーヤーは、WMP/RealPlayer/Flash Player に過ぎ...

Hyper-v仮想マシンを使用してCentos7をインストールする

目次導入準備するシステムイメージをダウンロードHyper-Vを有効にする新しい仮想ネットワークスイッ...

最もよく使われるHTMLエスケープシーケンス

HTML では、<、>、& などは特別な意味を持ち (<、> はリン...

デザイン理論:フォントデザインの基礎

<br />言葉は、人間の思考や感情を伝えるために必然的に生み出されるものです。人類の文...

MySQL が起動直後にシャットダウンする問題 (ibdata1 ファイルの破損が原因) に対する完璧な解決策

コンピュータ ルームのサーバー上の mysql がしばらく実行されていたのですが、突然、再起動しても...

Vue は検証コードのカウントダウンボタンを実装します

この記事では、検証コードカウントダウンボタンを実装するためのVueの具体的なコードを例として紹介しま...

Element UI で自動サイズ調整テキストエリアの高さを設定する方法

Element UIのtextarea input自動サイズに設定すると、テキストボックスのデフォル...

Nginx におけるサーバーとロケーションのマッチングロジックの詳細な理解

サーバーマッチングロジックNginx は、リクエストを実行するサーバー ブロックを決定するときに、サ...

ページのスクロールバーを無効にするには、overflow: hiddenを使用します。

コードをコピーコードは次のとおりです。 html {オーバーフロー: 非表示; }体{オーバーフロー...

テーブルパーティションとパーティション分割とは何ですか?MySqlデータベースパーティションとテーブルパーティション分割方法

1. テーブルとパーティションを分割する必要があるのはなぜですか?日常の開発では、大きなテーブルに遭...