ホームページ > データベース > mysql チュートリアル > 単一のクエリで複数の MySQL テーブルを同時に更新するにはどうすればよいですか?

単一のクエリで複数の MySQL テーブルを同時に更新するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-20 09:21:10
オリジナル
468 人が閲覧しました

How Can I Update Multiple MySQL Tables Simultaneously with a Single Query?

複数の MySQL テーブルを一度に効率的に更新する

標準的なデータベースの実践では、テーブルごとに個別の更新クエリが必要になることがよくあります。 ただし、MySQL は、単一のクエリを使用して複数のテーブルを同時に更新する合理的な方法を提供します。このアプローチにより、データベースの対話が簡素化され、コードの明瞭さが向上し、データベース通信のオーバーヘッドが削減されてパフォーマンスが向上する可能性があります。

単一クエリ更新手法

次の構文は、1 つのクエリで複数の MySQL テーブルを更新する方法を示しています。

<code class="language-sql">UPDATE TABLE1, TABLE2
SET TABLE1.column1 = value1, TABLE1.column2 = value2,
    TABLE2.column1 = value1, TABLE2.column2 = value2
WHERE condition;</code>
ログイン後にコピー

2 つのテーブル BooksOrders を含む例でこれを説明してみましょう。

<code class="language-sql">-- Books table
CREATE TABLE Books (
    BookID INT PRIMARY KEY,
    BookName VARCHAR(50),
    InStock INT
);

-- Orders table
CREATE TABLE Orders (
    OrderID INT PRIMARY KEY,
    BookID INT,
    Quantity INT
);</code>
ログイン後にコピー

OrderID 1002 の注文数量を 2 つ増やし、同時に Books テーブルの書籍在庫を減らす必要があるとします。 次のクエリはこれを実現します:

<code class="language-sql">UPDATE Books, Orders
SET Orders.Quantity = Orders.Quantity + 2,
    Books.InStock = Books.InStock - 2
WHERE
    Books.BookID = Orders.BookID
    AND Orders.OrderID = 1002;</code>
ログイン後にコピー

この方法では、データベース操作が合理化され、データベースとのやり取りの数が減るため、コードが読みやすくなり、高速になる可能性があります。

以上が単一のクエリで複数の MySQL テーブルを同時に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート