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

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)である必要があります。


  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

  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