MySQLのブール値とtinyint(1)の違いは何ですか?
ブール値とtinyint(1)の基本的な違いは、命名規則のみです。真または偽の値が必要であると言うと、tinyint(1)ではなくブール値が頭に浮かびます。
これらのデータ型は同義語です。どのデータ型を使用するかは私たち次第です。値は1と0、またはtrueとfalseのどちらでもかまいません。
以下は例です。
ブールデータ型でテーブルを作成します。
mysql> create table BooleanDemo -> ( -> Light Boolean -> ); Query OK, 0 rows affected (0.52 sec)
テーブルにレコードを挿入します。
mysql> insert into BooleanDemo values(true); Query OK, 1 row affected (0.12 sec)
すべてのレコードを表示します。
mysql> select *from BooleanDemo;
以下はブールTRUEを表示する出力です。
+-------+ | Light | +-------+ | 1 | +-------+ 1 row in set (0.00 sec)
tinyint(1)データ型でテーブルを作成します。
mysql> create table tinyint1Demo -> ( -> Light tinyint(1) -> ); Query OK, 0 rows affected (0.58 sec)
テーブルにレコードを挿入します。
mysql> insert into tinyint1Demo values(1); Query OK, 1 row affected (0.12 sec)
すべてのレコードを表示します。
mysql> select *from tinyint1Demo;
これが出力です。
+-------+ | Light | +-------+ | 1 | +-------+ 1 row in set (0.00 sec)
注 −唯一の基本的な違いは、セマンティクスにあります。 trueまたはfalseについて話している場合、データ型はブール値である必要があることは明らかです。ただし、0または1について話している場合、データ型はtinyint(1)である必要があります。
-
MySQLのintvalue='1'とintvalue=1の違いは?
intvalue=1を使用する必要があります。ステートメントintvalue=’1’は、MySQLによって内部的にcast( ‘1’ as int)に変換されます。 まずテーブルを作成しましょう- mysql> create table DemoTable1566 -> ( -> intvalue int -> ); Query OK, 0 rows affected (0.64 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert
-
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