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

CASEステートメントでフェッチされた特定の列の値を更新するにはどうすればよいですか?


このためには、CASEステートメントとともにUPDATEコマンドを使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable1925
   (
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   StudentName varchar(20),
   StudentMarks int
   );
Query OK, 0 rows affected (0.00 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1925(StudentName,StudentMarks) values('Chris',98);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1925(StudentName,StudentMarks) values('David',45);
Query OK, 1 row affected (0.00 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select * from DemoTable1925;

これにより、次の出力が生成されます-

+-----------+-------------+--------------+
| StudentId | StudentName | StudentMarks |
+-----------+-------------+--------------+
|         1 | Chris       |           98 |
|         2 | David       |           45 |
+-----------+-------------+--------------+
2 rows in set (0.00 sec)

これは、CASEステートメントでフェッチされた特定の列の値を更新するためのクエリです-

mysql> update DemoTable1925
   set StudentMarks=case StudentMarks when 45 then 98
   when 98 then 0 end
   where StudentMarks IN(45,98);
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2  Changed: 2 Warnings: 0

テーブルレコードをもう一度確認しましょう-

mysql> select * from DemoTable1925;

これにより、次の出力が生成されます-

+-----------+-------------+--------------+
| StudentId | StudentName | StudentMarks |
+-----------+-------------+--------------+
|         1 | Chris       |            0 |
|         2 | David       |           98 |
+-----------+-------------+--------------+
2 rows in set (0.00 sec)

  1. MySQLで特定の列名を持つテーブルを見つける方法は?

    列名を見つけるには、information_schema.columnsを使用します。以下は構文です- select distinct table_name from information_schema.columns where column_name like '%yourSearchValue%' and table_schema=database(); さまざまなテーブルで列名を見つけるために、上記の構文を実装しましょう。ここでは、特定の列名が「クライアント」という単語を持つテーブル名のみが必要です- mysql> select distinct table_

  2. MySQL LIKEクエリを使用して、%を含む列値を検索するにはどうすればよいですか?

    %を使用して列の値を検索する場合、構文は次のようになります- select * from yourTableName  where yourColumnName LIKE '\%%'; まずテーブルを作成しましょう- mysql> create table DemoTable1497    -> (    -> Name varchar(20)    -> ); Query OK, 0 rows affected (0.55 sec) insert-を使用して、テーブルにいくつかの