MySQL中的Boolean类型

MySQL中的Boolean类型

在MySQL中,没有真正的Boolean类型,但是可以通过tinyint类型模拟Boolean类型。通常,我们会将tinyint(1)类型作为Boolean类型使用,因为该类型只能存储0或1,符合Boolean类型的特性。

阅读更多:MySQL 教程

tinyint(1)类型有多少个值?

尽管我们通常将tinyint(1)类型作为Boolean类型使用,但它实际上可以存储-127到127之间的任何整数。下面是一个示例,说明在tinyint(1)类型中,实际上可以存储多种值。

DROP TABLE IF EXISTS `test`;
CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `bool` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

INSERT INTO `test` (`bool`) VALUES (-127), (0), (127);

从上面的示例中,我们可以看到,tinyint(1)类型可以存储从-127到127之间的任意整数值。但是,我们通常将其视为Boolean类型,并仅存储0和1,以便更好地适配Boolean类型的应用程序。

如何查找tinyint(1)类型中存储的值?

查找tinyint(1)类型的值与查找其他类型的值类似。

SELECT * FROM `test` WHERE `bool` = 1; -- 查找tinyint(1)类型中值为1的记录
SELECT * FROM `test` WHERE `bool` = 0; -- 查找tinyint(1)类型中值为0的记录
SELECT * FROM `test` WHERE `bool` <> 0; -- 查找tinyint(1)类型中非0值的记录

总结

tinyint(1)类型在MySQL中通常用于模拟Boolean类型。虽然该类型实际上可以存储多种整数值,但我们通常仅将其视为Boolean类型,并仅存储值0和1。查找tinyint(1)类型中存储的值与查找其他类型的值相同。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程