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

条件付きNOTNULLの場合MySQL?


条件付きNOTNULLの場合、<>および=演算子を使用する必要はありません。 NULLはMySQLの特殊なケースであるため、ISNULLおよびISNOTNULLプロパティを使用する必要があります。

条件付きのNOTNULLの場合を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです。

mysql> create table ConditionalNotNullDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> SendMessage longtext,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.62 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです。

mysql> insert into ConditionalNotNullDemo(SendMessage) values(NULL);
Query OK, 1 row affected (0.16 sec)
mysql> insert into ConditionalNotNullDemo(SendMessage) values('Hi');
Query OK, 1 row affected (0.15 sec)
mysql> insert into ConditionalNotNullDemo(SendMessage) values('Hello');
Query OK, 1 row affected (0.20 sec)
mysql> insert into ConditionalNotNullDemo(SendMessage) values(NULL);
Query OK, 1 row affected (0.18 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです。

mysql> select *from ConditionalNotNullDemo;

出力は次のとおりです。

+----+-------------+
| Id | SendMessage |
+----+-------------+
|  1 | NULL        |
|  2 | Hi          |
|  3 | Hello       |
|  4 | NULL        |
+----+-------------+
4 rows in set (0.00 sec)

これは、ISNULLおよびISNOTNULLプロパティのデモです。

ケース 1 :すべてのNULLメッセージをフィルタリングする場合は、ISNULLプロパティを使用します。クエリは次のとおりです。

mysql> select *from ConditionalNotNullDemo where SendMessage IS NULL;

出力は次のとおりです。

+----+-------------+
| Id | SendMessage |
+----+-------------+
|  1 | NULL        |
|  4 | NULL        |
+----+-------------+
2 rows in set (0.00 sec)

ケース2 :ISNOTNULLプロパティの使用。 NULLメッセージ以外のすべての有効なメッセージを表示する場合は、ISNULLプロパティを使用できます。クエリは次のとおりです。

mysql> select *from ConditionalNotNullDemo where SendMessage IS NOT NULL;

出力は次のとおりです。

+----+-------------+
| Id | SendMessage |
+----+-------------+
|  2 | Hi          |
|  3 | Hello       |
+----+-------------+
2 rows in set (0.03 sec)

  1. MySQLの既存の列にNOTNULL属性を設定します

    NOT NULL属性を既存の列に設定するには、ALTERTABLEコマンドを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1949    (    UserId int,    UserName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) これは、既存の列にNOTNULL属性を設定するためのクエリです- mysql> alter table DemoTable1949 modify

  2. MySQLでは、!=NULLとISNOT NULLの違いは何ですか?

    値を!=NULLと比較すると、NULLが返されます。したがって、!=NULLは無意味です。 !=NULLとISNOT NULLの違いを確認するために、最初にテーブルを作成しましょう。 まずテーブルを作成しましょう- mysql> create table DemoTable1970    (    Value int    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTa