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

推薦する

Nginx でバージョン番号を隠したり偽造したりする方法

1. デフォルトでアクセスするには、curl コマンドを使用します。 # curl -I http:...

HTMLの行間設定方法と問題点

<p></p> の行間隔を設定するには、style="line-h...

Vue 画像切り抜きコンポーネントのサンプルコード

例:ヒント:このコンポーネントはvue-cropperの二次パッケージに基づいていますプラグインをイ...

重複したMySQLテーブルをマージして削除する簡単な方法

シナリオ:クロールされたデータは、別のメインテーブルと同じ構造を持つデータテーブルを生成するため、マ...

Vue+Openlayerはグラフィックスのドラッグと回転変形効果を実現します

目次序文関連資料成果を達成する実装手順序文Openlayer には独自の拡張プラグイン ol-ext...

Nginx10m+の高並列カーネル最適化に関する簡単な説明

高い同時実行性とは何ですか?デフォルトの Linux カーネル パラメータは、最も一般的なシナリオ向...

Flexレイアウトを使用してヘッドの固定コンテンツ領域のスクロールを実現する方法

ページ ヘッダーの固定レイアウトは、以前は position:fixed を使用して実装されていまし...

mysql5.7 でユーザーの初期パスワードを変更する方法

ユーザーが初めて MySQL データベースをインストールするとき、初期のルート パスワードを変更する...

Tomcat 実行時の JVM エンコーディングの問題を修正

質問:最近、プロジェクトを展開すると文字化けしたデータが出てきました。確認したところ、プロジェクトは...

CentOS 7 で Python を 3.6.6 にアップグレードした後に発生する yum エラー問題の解決方法の概要

最近、テスト サーバーのオペレーティング システムを Cent0S 7.5 にアップグレードし、Py...

Vue-CLI3.xはプロジェクトをサーバーに自動的にデプロイします

目次序文1. scp2をインストールする2. テスト/本番環境サーバーのSSHリモートログインアカウ...

インデックスとテーブルリターンをカバーするMySQLの使い方

インデックスの2つの主要なカテゴリ使用されるストレージエンジン: MySQL 5.7 InnoDBク...

yum 経由で CentOS に PHP をインストールするチュートリアル

まず、yumを使ってCentOSにPHPをインストールする方法を紹介します。 1. PHPのyumソ...

初心者がHTMLタグを学ぶ(2)

初心者は、いくつかの HTML タグを理解することで HTML を学習できます。この入門書は、初心者...

行の高さと垂直方向の配置に関する包括的な理解

前の単語line-height、font-size、vertical-align は、インライン要素...