複数の 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 つのテーブル Books
と Orders
を含む例でこれを説明してみましょう。
<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 サイトの他の関連記事を参照してください。