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

MySQLの条件に基づいて、新しい列を追加し、その列に値を設定しますか?


条件に基づいて値を設定するには、IF()メソッドを使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> Age int
   -> );
Query OK, 0 rows affected (0.55 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values(19);
Query OK, 1 row affected (0.20 sec)

mysql> insert into DemoTable values(16);
Query OK, 1 row affected (0.10 sec)

mysql> insert into DemoTable values(17);
Query OK, 1 row affected (0.12 sec)

mysql> insert into DemoTable values(22);
Query OK, 1 row affected (0.19 sec)

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

mysql> select *from DemoTable;

Ouptut

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

+------+
| Age  |
+------+
|   19 |
|   16 |
|   17 |
|   22 |
+------+
4 rows in set (0.00 sec)

以下は、条件に基づいて値を設定するためのクエリです-

mysql> select Age,if(Age > 18,'You are qualified!','Sorry, you are rejected!') AS Result from
DemoTable;

出力

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

+------+-------------------------+
| Age  | Result                  |
+------+-------------------------+
|   19 | You are qualified!      |
|   16 | Sorry, you are rejected!|
|   17 | Sorry, you are rejected!|
|   22 | You are qualified!      |
+------+-------------------------+
4 rows in set (0.00 sec)

  1. 45日の間隔で日を追加し、出力を新しい列に表示するMySQLクエリ

    これには、date_add()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1930    (    DueTime datetime    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1930 values('2017-10-21'); Query OK, 1 row affected

  2. MySQLのnull値に基づいて新しい列にカスタムテキストを表示しますか?

    まずテーブルを作成しましょう- mysql> create table DemoTable1953    (    StudentName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1953 values('Chris'); Query OK, 1 row affected (0.00 sec) mysql>