MySQL中的BIT和TINYINT有什么区别?

BIT可用于存储1位的值。它可以是0或1。例如,我们不能存储2个数据类型为BIT的数据。如果我们尝试使用BIT数据类型插入2,则MySQL会引发错误。

TINYINT可用于存储8位值。我们可以存储的最大值是127。我们不能存储,例如987的8位值。如果我们尝试插入带有TINYINT数据类型的987,MySQL会引发错误。

让我们通过MySQL 8.0.12版本进行工作。

检查系统上安装的版本。

mysql> select version();

以下是输出。

+-----------+

| version() |

+-----------+

| 8.0.12    |

+-----------+

1 row in set (0.00 sec)

BIT类型

创建具有BIT类型的表。

mysql> create table BitDemo

   -> (

   -> Id BIT

   -> );

将记录插入表“ BitDemo”。

mysql> insert into BitDemo values(1);

mysql>  insert into BitDemo values(0);

每当在Bit中插入2时,都会出现错误。

mysql> insert into BitDemo values(2);

ERROR 1406 (22001): Data too long for column 'Id' at row 1

天音

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

mysql> create table TinyIntDemo

   -> (

   -> Id TINYINT

   -> );

插入记录。

mysql> insert into TinyIntDemo values(123);

mysql>  insert into TinyIntDemo values(97);

mysql>  insert into TinyIntDemo values(127);

每当我们尝试插入超过127的值时,都会出现错误。

mysql> insert into TinyIntDemo values(9876);

ERROR 1264 (22003): Out of range value for column 'Id' at row 1

mysql>  insert into TinyIntDemo values(987);

ERROR 1264 (22003): Out of range value for column 'Id' at row

mysql> insert into TinyIntDemo values(255);

ERROR 1264 (22003): Out of range value for column 'Id' at row 1

mysql> insert into TinyIntDemo values(254);

ERROR 1264 (22003): Out of range value for column 'Id' at row 1

mysql>  insert into TinyIntDemo values(200);

ERROR 1264 (22003): Out of range value for column 'Id' at row 1

mysql>  insert into TinyIntDemo values(199);

ERROR 1264 (22003): Out of range value for column 'Id' at row 1

我们可以存储的最大值是127。

要显示所有有效的插入记录,让我们使用SELECT命令。

mysql> select *from TinyIntDemo;

这是输出。

+------+

| Id   |

+------+

|  123 |

|   97 |

|  127 |

+------+

3 rows in set (0.00 sec)

以上是 MySQL中的BIT和TINYINT有什么区别? 的全部内容, 来源链接: utcz.com/z/316880.html

回到顶部