MySQL Boolean和tinyint(1)有什么区别?

MySQL Boolean和tinyint(1)有什么区别?

Boolean和tinyint(1)之间的基本区别仅在于命名约定。如果我们说需要真或假值,我们会想到Boolean,而不是tinyint(1)。

这些数据类型是同义词,我们可以自己选择使用哪种数据类型-值可以是1和0或true和false。

下面是一个示例。

创建具有Boolean数据类型的表。

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;

以下是显示Boolean 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)

注意 - 基本区别只在于语义。如果我们谈论真或假,那么数据类型应该是布尔值。但是,如果我们谈论0或1,则数据类型应该是tinyint(1)。

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程