Mysql跨表更新 多表update sql语句总结
Mysql跨表更新一直是大家所关心的话题,本文介绍mysql多表 update在实践中几种不同的写法,需要的朋友可以参考下
假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price;另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段的80%。在Mysql中我们有几种手段可以做到这一点,一种是update table1 t1, table2 ts ...的方式:
代码如下:
UPDATE product p, productPrice pp
SET pp.price = pp.price * 0.8
WHERE p.productId = pp.productId
AND p.dateCreated
另外一种方法是使用inner join然后更新:
代码如下:
UPDATE product p
INNER JOIN productPrice pp
ON p.productId = pp.productId
SET pp.price = pp.price * 0.8
WHERE p.dateCreated
另外我们也可以使用left outer join来做多表update,比方说如果ProductPrice表中没有产品价格记录的话,将Product表的isDeleted字段置为1,如下sql语句:
代码如下:
UPDATE product p
LEFT JOIN productPrice pp
ON p.productId = pp.productId
SET p.deleted = 1
WHERE pp.productId IS null
另外,上面的几个例子都是两张表之间做关联,但是只更新一张表中的记录,其实是可以同时更新两张表的,如下sql:
代码如下:
UPDATE product p
INNER JOIN productPrice pp
ON p.productId = pp.productId
SET pp.price = pp.price * 0.8,
p.dateUpdate = CURDATE()
WHERE p.dateCreated
两张表做关联,更新了ProductPrice表的price字段和Product表字段的dateUpdate两个字段。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











SQL ServerでSQLステートメントを使用してテーブルを作成する方法:SQL Server Management Studioを開き、データベースサーバーに接続します。データベースを選択してテーブルを作成します。作成テーブルステートメントを入力して、テーブル名、列名、データ型、制約を指定します。 [実行]ボタンをクリックしてテーブルを作成します。

この記事では、SQLステートメントを使用して3つのテーブルに参加する詳細なチュートリアルを紹介し、読者にさまざまなテーブルのデータを効果的に相関させる方法を学習するよう指導します。例と詳細な構文の説明を使用して、この記事では、SQLのテーブルの参加手法を習得して、データベースから関連情報を効率的に取得できるようにします。

SQLインジェクションを判断する方法には、疑わしい入力の検出、元のSQLステートメントの表示、検出ツールの使用、データベースログの表示、および浸透テストの実行が含まれます。注入が検出された後、脆弱性のパッチを適用し、パッチを確認し、定期的に監視し、開発者の意識を向上させるための措置を講じます。

PHPMyAdminを使用して、PHPプロジェクトでデータベースを作成できます。特定の手順は次のとおりです。PHPMyAdminにログインし、[新しい]ボタンをクリックします。作成するデータベースの名前を入力し、MySQLネーミングルールに準拠していることに注意してください。 UTF-8などの文字セットを設定して、文字化けの問題を回避します。

SQLステートメントを確認する方法は次のとおりです。SyntaxChecking:SQL EditorまたはIDEを使用します。論理チェック:テーブル名、列名、条件、およびデータ型を確認します。パフォーマンスチェック:説明または分析を使用してインデックスを確認し、クエリを最適化します。その他のチェック:変数、許可、およびテストクエリを確認します。

SQL挿入ステートメントは、テーブルにデータを挿入するために使用されます。手順には以下が含まれます。ターゲットテーブルを指定して、挿入する列をリストします。挿入する値を指定します(値の順序は列名に対応する必要があります)

MySQLには、無料のコミュニティバージョンと有料エンタープライズバージョンがあります。コミュニティバージョンは無料で使用および変更できますが、サポートは制限されており、安定性要件が低く、技術的な能力が強いアプリケーションに適しています。 Enterprise Editionは、安定した信頼性の高い高性能データベースを必要とするアプリケーションに対する包括的な商業サポートを提供し、サポートの支払いを喜んでいます。バージョンを選択する際に考慮される要因には、アプリケーションの重要性、予算編成、技術スキルが含まれます。完璧なオプションはなく、最も適切なオプションのみであり、特定の状況に応じて慎重に選択する必要があります。

postgreSQL列を追加するメソッドは、TableコマンドをAlter Tableコマンドを使用し、次の詳細を検討することです。データタイプ:INTやVarCharなどのデータを保存する新しい列に適したタイプを選択します。デフォルト:nullの値を回避するデフォルトキーワードを介して、新しい列のデフォルト値を指定します。制約:必要に応じて、null、一意、または制約を確認しないでください。並行操作:トランザクションまたはその他の同時制御メカニズムを使用して、列を追加するときにロック競合を処理します。
