MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで1つのUPDATE文を使って複数の列を同時に更新する方法

MySQLでは、UPDATE文とREPLACE()関数を組み合わせることで、1つのクエリで複数の列を同時に更新できます。この記事では、実際にテーブルを作成し、複数列の値を一度に置き換える手順を解説します。

サンプルテーブルの作成

まず、以下のコマンドでテーブルを作成します。

mysql> create table DemoTable
-> (
-> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> StudentName varchar(100),
-> StudentCountryName varchar(100)
-> );
Query OK, 0 rows affected (0.67 sec)

レコードの挿入

次に、INSERTコマンドを使ってテーブルにデータを挿入します。

mysql> insert into DemoTable(StudentName,StudentCountryName) values('John','US');
Query OK, 1 row affected (0.15 sec)

挿入したデータの確認

SELECT文ですべてのレコードを表示してみましょう。

mysql> select *from DemoTable;

出力結果

+-----------+-------------+--------------------+
| StudentId | StudentName | StudentCountryName |
+-----------+-------------+--------------------+
| 1 | John | US |
+-----------+-------------+--------------------+
1 row in set (0.00 sec)

複数の列を同時に更新するクエリ

ここが本題です。SET句の中でカンマ(,)区切りで複数の列を指定することで、1つのUPDATE文だけで「StudentName」と「StudentCountryName」の両方を更新できます。さらにREPLACE()関数を使えば、既存の値の一部だけを別の文字列に置き換えることも可能です。

mysql> update DemoTable
-> set StudentName=replace(StudentName,'John','Chris'),
-> StudentCountryName=replace(StudentCountryName,'US','UK');
Query OK, 1 row affected (0.69 sec)
Rows matched: 1 Changed: 1 Warnings: 0

更新後のデータ確認

もう一度テーブルの内容を確認しましょう。

mysql> select *from DemoTable;

出力結果

+-----------+-------------+--------------------+
| StudentId | StudentName | StudentCountryName |
+-----------+-------------+--------------------+
| 1 | Chris | UK |
+-----------+-------------+--------------------+
1 row in set (0.00 sec)

上記の出力を見ると、「John」が「Chris」に、「US」が「UK」にそれぞれ変更されていることがわかります。このように、UPDATE文のSET句に複数の列をカンマで区切って記述すれば、1回のクエリ実行で効率的に複数列を更新できます。WHERE句を追加すれば、特定の条件に一致する行だけを対象にすることもできるので、実務でもぜひ活用してください。

  1. MySQLのUPDATE文で1つのクエリを使って複数のレコードを更新する方法

    MySQLでは、UPDATEステートメントを使うことで、1つのクエリで複数のカラムや複数のレコードの値をまとめて更新できます。この記事では、実際にサンプルテーブルを作成し、UPDATE文でデータを更新する具体的な手順を解説します。サンプルテーブルの作成まず、テーブルを作成しましょう。mysql> create table DemoTable     -> (     -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    &

  2. MySQLの1つのUPDATE文で2つの列を同時に更新する方法

    はじめにMySQLでは、1つのUPDATE文の中でSET句を一度だけ使えば、複数の列を同時に更新できます。各列の指定はカンマ(,)で区切って記述します。この記事では、実際にテーブルを作成し、1つのクエリで2つの列(FirstNameとLastName)を更新する手順を解説します。サンプルテーブルの作成まず、以下のようにCREATE TABLE文でテーブルを作成します。mysql> create table DemoTable1909 ( Id int NOT NULL, FirstName varchar(20), LastName varchar(20)