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

MySQLで列値がNULLであるか、デフォルト値であるかを確認するにはどうすればよいですか?


これには、IFNULL()の概念を使用できます。まずテーブルを作成しましょう-

mysql> create table DemoTable
(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   Name varchar(100) DEFAULT 'Larry',
   Age int DEFAULT NULL
);
Query OK, 0 rows affected (0.73 sec)

挿入コマンド-

を使用してテーブルにレコードを挿入します
mysql> insert into DemoTable(Name,Age) values('John',23);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.34 sec)
mysql> insert into DemoTable(Name) values('David');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(Age) values(24);
Query OK, 1 row affected (0.13 sec)

以下は、selectステートメント-

を使用してテーブルのすべてのレコードを表示するためのクエリです。
mysql> select *from DemoTable;

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

+----+-------+------+
| Id | Name  | Age  |
+----+-------+------+
| 1  | John  | 23   |
| 2  | Larry | NULL |
| 3  | David | NULL |
| 4  | Larry | 24   |
+----+-------+------+
4 rows in set (0.00 sec)

以下は、列の値がNULLであるか、MySQLでDEFAULT値を持っているかを確認するためのクエリです。

mysql> select *from DemoTable WHERE IFNULL(Name, DEFAULT(Name)) <> DEFAULT(Name);

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

+----+-------+------+
| Id | Name  | Age  |
+----+-------+------+
| 1  | John  | 23   |
| 3  | David | NULL |
+----+-------+------+
2 rows in set (0.00 sec)

  1. MySQLでデフォルト値をNULLに設定するにはどうすればよいですか?

    MySQLでDEFAULTキーワードを使用して、デフォルト値をNULLに設定します。まず、-を作成しましょう mysql> create table DemoTable1440    -> (    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> StudentName varchar(20) DEFAULT NULL,    -> StudentAge int DEFAULT NULL    

  2. MySQLテーブルの単一行で値がNullであるかどうかを確認するにはどうすればよいですか?

    このために、MySQLでISNULLを使用できます。 テーブルを作成しましょう- 例 mysql> create table demo86    -> (    -> value1 varchar(20)    -> ,    -> value2 varchar(20)    -> ); Query OK, 0 rows affected (2.77 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 mysql> insert