1.MySQL UPDATE JOIN構文MySQL では、UPDATE ステートメントで アップデートT1、T2、 [内部結合 | 左結合] T1 ON T1.C1 = T2.C1 T1.C2 = T2.C2 に設定し、 T2.C3 = 式 WHERE条件 MySQL の まず、 次に、使用する結合のタイプ( 3 番目に、更新する 4 番目に、WHERE 句の条件を使用して、更新する行を指定します。 2. 例まず、これらの例では新しいサンプル データベース (
次のステートメントは、 empdbが存在しない場合はデータベースを作成します。 empdbを使用します。 --テーブルを作成する CREATE TABLEのメリット( パフォーマンス INT(11) NOT NULL, パーセンテージ FLOAT NOT NULL、 プライマリキー(パフォーマンス) ); 従業員テーブルを作成する( emp_id INT(11) NOT NULL AUTO_INCREMENT, emp_name VARCHAR(255) NOT NULL、 パフォーマンス INT(11) デフォルト NULL, 給与 FLOAT デフォルト NULL、 主キー (emp_id)、 制約 fk_performance FOREIGN KEY (パフォーマンス) 参考文献 メリット(パフォーマンス) ); -- 功績表にデータを挿入する メリット(パフォーマンス、パーセンテージ)に挿入 値(1,0)、 (2,0.01)、 (3,0.03)、 (4,0.05)、 (5,0.08); -- 従業員テーブルにデータを挿入する 従業員に挿入(従業員名、業績、給与) VALUES('メアリー・ドゥー', 1, 50000), (「シンディ・ミンス」、3、65000)、 (『スー・グリーンスパン』、4、75000)、 (「グレース・デル」、5、125000)、 (「ナンシー・ジョンソン」、3、85000)、 (「ジョン・ドゥ」、2、45000)、 (「リリーブッシュ」、3、55000) 2.1 MySQL UPDATE JOIN INNER JOIN句を使用した例 従業員の給与をその仕事のパフォーマンスに基づいて調整したいとします。 上記のクエリはどのように機能しますか? mysql> select * from employees; -- 以前のデータを更新します+--------+---------------+------------+--------+ | 従業員 ID | 従業員名 | 業績 | 給与 | +--------+---------------+-------------+---------+ | 1 | メアリー・ドゥ | 1 | 50000 | | 2 | シンディ・ミンス | 3 | 65000 | | 3 | スー・グリーンスパン | 4 | 75000 | | 4 | グレースデル | 5 | 125000 | | 5 | ナンシー・ジョンソン | 3 | 85000 | | 6 | ジョン・ドゥ | 2 | 45000 | | 7 | リリーブッシュ | 3 | 55000 | +--------+---------------+-------------+---------+ 7行セット mysql> 従業員の更新 内部結合 メリット ON employees.performance = merits.performance セット salary = salary + salary * percentage; -- 接続更新クエリの実行が成功しました。6 行が影響を受けました。 一致した行: 7 変更された行: 6 警告: 0 mysql> select * from employees; -- 更新されたデータ+--------+---------------+------------+--------+ | 従業員 ID | 従業員名 | 業績 | 給与 | +--------+---------------+-------------+---------+ | 1 | メアリー・ドゥ | 1 | 50000 | | 2 | シンディ・ミンス | 3 | 66950 | | 3 | スー・グリーンスパン | 4 | 78750 | | 4 | グレースデル | 5 | 135000 | | 5 | ナンシー・ジョンソン | 3 | 87550 | | 6 | ジョン・ドゥ | 2 | 45450 | | 7 | リリーブッシュ | 3 | 56650 | +--------+---------------+-------------+---------+ 7行セット
従業員の更新 内部結合 メリット ON employees.performance = merits.performance セット 給与 = 給与 + 給与 * パーセンテージ ここで、 employees.performance > 1; 2.2 MySQL UPDATE JOIN LEFT JOIN を使用した例 会社が 2 人の新しい従業員を雇ったとします。 従業員に挿入(従業員名、業績、給与) VALUES('ジャック・ウィリアム',NULL,43000), (「リッキー・ボンド」、NULL、52000) これらの従業員は新入社員であるため、 mysql> SELECT * FROM 従業員; +--------+---------------+-------------+---------+ | 従業員 ID | 従業員名 | 業績 | 給与 | +--------+---------------+-------------+---------+ | 1 | メアリー・ドゥ | 1 | 50000 | | 2 | シンディ・ミンス | 3 | 66950 | | 3 | スー・グリーンスパン | 4 | 78750 | | 4 | グレースデル | 5 | 135000 | | 5 | ナンシー・ジョンソン | 3 | 87550 | | 6 | ジョン・ドゥ | 2 | 45450 | | 7 | リリーブッシュ | 3 | 56650 | | 8 | ジャック・ウィリアム | NULL | 43000 | | 9 | リッキー・ボンド | NULL | 52000 | +--------+---------------+-------------+---------+ 9行セット 新入社員の給与を計算する場合、業績データが 従業員の更新 左結合 メリット ON employees.performance = merits.performance セット 給料 = 給料 + 給料 * 0.015 どこ merits.percentage が NULL です。 実行結果は次のとおりです。 mysql> 従業員の更新 左結合 メリット ON employees.performance = merits.performance セット 給料 = 給料 + 給料 * 0.015 どこ merits.percentage が NULL です。 クエリは正常、2 行が影響を受けました 一致した行: 2 変更された行: 2 警告: 0 mysql> 従業員から * を選択します。 +--------+---------------+-------------+---------+ | 従業員 ID | 従業員名 | 業績 | 給与 | +--------+---------------+-------------+---------+ | 1 | メアリー・ドゥ | 1 | 50000 | | 2 | シンディ・ミンス | 3 | 66950 | | 3 | スー・グリーンスパン | 4 | 78750 | | 4 | グレースデル | 5 | 135000 | | 5 | ナンシー・ジョンソン | 3 | 87550 | | 6 | ジョン・ドゥ | 2 | 45450 | | 7 | リリーブッシュ | 3 | 56650 | | 8 | ジャック・ウィリアム | NULL | 43645 | | 9 | リッキー・ボンド | NULL | 52780 | +--------+---------------+-------------+---------+ 9行セット 例 # 単一テーブル結合 bbs_uhome_card_activate ca を更新し、bbs_uhome_card_rules cr を ca.card_brach=cr.card_bach に設定し、ca.create_user=cr.create_user を設定します。 # 複数テーブルの結合 bbs_uhome_card_order co を更新し、 bbs_uhome_card_order_record cor を co.order_no=cor.order_no で内部結合し、 bbs_uhome_card_activate ca を cor.card_no=ca.card_no で結合し、 co.create_user=ca.create_user を設定します。 これで、MySQL ジョイント テーブル更新データの詳細な例に関するこの記事は終了です。MySQL ジョイント テーブル更新データに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Tomcat サーバーの設定と Web プロジェクトの公開に関する IDEA グラフィック チュートリアル
>>: テーブルの動的な色の変更を実現するJavaScript
この記事では、参考までに、Vuex の具体的なコードを共有して、簡単なショッピングカートを実装します...
この記事で使用されているPHPベースイメージはphp:7.3-apacheです。この記事の Lara...
導入Binlog ログ、つまりバイナリ ログ ファイルは、データベースに対するユーザー操作の SQL...
デモコマンドをカスタマイズするVue カスタム ディレクティブの構文は次のとおりです。 Vue.di...
ターミナル分割画面ツールは2つあります: screen と tmux 1. 画面分割を使用する(上下...
1. HTMLファイルでechartをインポートする <!-- echarts をインポート ...
目次クエリキャッシュの最適化概要クエリプロセスクエリキャッシュ構成クエリキャッシュの無効化メモリ管理...
目次1. binlogの紹介2. Binlog関連のパラメータ3. バイナリログの内容を分析するIV...
1. 概要ネットでいろいろ検索してみたところ、Linux システム向けではなく、現在の新しいバージ...
Nginx の公式 Web サイトから Windows バージョンの Nginx をダウンロードしま...
1. コマンドの紹介stat コマンドは、ファイルまたはファイル システムに関する詳細情報を表示する...
原理ホバーしたときに要素に影を設定します: box-shadow で、通常とは異なるスタイルにします...
目次1. テーブルを作成する1.1 テストテーブルt_userを作成する1.2 一時テーブルの作成2...
目次序文グローバルロック完全なデータベース論理バックアップFTWRL と set global re...
数日前、Google Reader で Yu Bo さんが共有した投稿「空のパスがページのパフォーマ...