MySQLで単一のWHERE句を使用して複数の行を更新するにはどうすればよいですか?
このために、MySQL IN()を使用できます。まず、-
を作成しましょうmysql> create table DemoTable1420 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> FirstName varchar(20), -> LastName varchar(20), -> Age int -> ); Query OK, 0 rows affected (1.12 sec)
insert-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable1420(FirstName,LastName,Age) values('Chris','Brown',23); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable1420(FirstName,LastName,Age) values('David','Miller',22); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable1420(FirstName,LastName,Age) values('John','Smith',24); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable1420(FirstName,LastName,Age) values('John','Doe',21); Query OK, 1 row affected (0.43 sec) mysql> insert into DemoTable1420(FirstName,LastName,Age) values('Adam','Smith',25); Query OK, 1 row affected (0.18 sec)
select-
を使用してテーブルのすべてのレコードを表示しますmysql> select * from DemoTable1420;
これにより、次の出力が生成されます-
+----+-----------+----------+------+ | Id | FirstName | LastName | Age | +----+-----------+----------+------+ | 1 | Chris | Brown | 23 | | 2 | David | Miller | 22 | | 3 | John | Smith | 24 | | 4 | John | Doe | 21 | | 5 | Adam | Smith | 25 | +----+-----------+----------+------+ 5 rows in set (0.00 sec)
以下は、単一のwhere句を使用して複数の行を更新するクエリです-
mysql> update DemoTable1420 -> set FirstName='Carol',LastName='Taylor' -> where Id IN(1,3,4,5); Query OK, 4 rows affected (0.42 sec) Rows matched: 4 Changed: 4 Warnings: 0
テーブルレコードをもう一度確認しましょう-
mysql> select * from DemoTable1420;
これにより、次の出力が生成されます-
+----+-----------+----------+------+ | Id | FirstName | LastName | Age | +----+-----------+----------+------+ | 1 | Carol | Taylor | 23 | | 2 | David | Miller | 22 | | 3 | Carol | Taylor | 24 | | 4 | Carol | Taylor | 21 | | 5 | Carol | Taylor | 25 | +----+-----------+----------+------+ 5 rows in set (0.00 sec)
-
MySQLWHERE句の複数の値で更新
最初にテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20), -> Age int, -> CountryName varchar(10) -> ); Query OK, 0 rows affected (0.81 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します
-
MySQLは1つのクエリで複数のレコードを更新しますか?
まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Marks1 int, -> Marks2 int, -> Marks3 int -> ); Query OK, 0 rows affected (0.60 sec) 挿入コマンド-を使用して、テー