条件に基づいてさまざまなフィールドを更新するMySQLクエリ?
まず、-
を作成しましょうmysql> create table DemoTable1436 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(20) -> ); Query OK, 0 rows affected (1.06 sec)
insert-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable1436(Name) values('Chris'); Query OK, 1 row affected (0.22 sec) mysql> insert into DemoTable1436(Name) values('David'); Query OK, 1 row affected (0.40 sec) mysql> insert into DemoTable1436(Name) values('Bob'); Query OK, 1 row affected (0.35 sec) mysql> insert into DemoTable1436(Name) values('David'); Query OK, 1 row affected (0.23 sec) mysql> insert into DemoTable1436(Name) values('David'); Query OK, 1 row affected (0.31 sec)
select-
を使用してテーブルのすべてのレコードを表示しますmysql> select * from DemoTable1436;
これにより、次の出力が生成されます-
+----+-------+ | Id | Name | +----+-------+ | 1 | Chris | | 2 | David | | 3 | Bob | | 4 | David | | 5 | David | +----+-------+ 5 rows in set (0.00 sec)
以下は、条件に基づいてさまざまなフィールドを更新するためのクエリです-
mysql> update DemoTable1436 -> set Name=IF(Name='David','Carol Taylor',Name) -> where Id=2; Query OK, 1 row affected (0.31 sec) Rows matched: 1 Changed: 1 Warnings: 0
テーブルレコードをもう一度確認しましょう-
mysql> select * from DemoTable1436;
これにより、次の出力が生成されます-
+----+--------------+ | Id | Name | +----+--------------+ | 1 | Chris | | 2 | Carol Taylor | | 3 | Bob | | 4 | David | | 5 | David | +----+--------------+ 5 rows in set (0.00 sec)
-
別のMySQLテーブルの列に基づいて列を更新します
このために、結合の概念を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1 -> ( -> Id int, -> Name varchar(10) -> ); Query OK, 0 rows affected (0.51 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 values(100,'Bob&
-
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) 挿入コマンド-を使用して、テー