程序员社区

MySQL系列教程 --- 61、MySQL 中的 Boolean 类型

布尔值是最简单的数据类型,它总是返回两个可能的值,真或假。它始终可以用于以 YES 或 No 值的形式获得确认。

MySQL 不包含内置的 Boolean 或 Bool 数据类型。它们提供TINYINT数据类型,而不是 Boolean 或 Bool 数据类型。MySQL将零值视为假,将非零值视为真。如果要使用布尔文字,请使用始终计算为 0 和 1 值的 true 或 false。0 和 1 表示整数值。

执行以下语句以查看布尔文字的整数值:

Mysql> Select TRUE, FALSE, true, false, True, False;  

执行成功后,出现如下结果:

file

MySQL 布尔示例

我们可以将一个布尔值作为整数数据类型存储在 MySQL 表中。让我们创建一个表 student 来演示 Boolean 数据类型在 MySQL 中的使用:

mysql> CREATE TABLE student (  
    studentid INT PRIMARY KEY AUTO_INCREMENT,  
    name VARCHAR(40) NOT NULL,  
    age VARCHAR(3),  
    pass BOOLEAN  
);  

在上面的查询中,我们可以看到pass字段在显示表的定义时被定义为布尔值;它包含 TINIINT 如下:

mysql> DESCRIBE student;  

file

让我们借助以下查询在上表中添加两个新行:

mysql> INSERT INTO student(name, pass) VALUES('Peter',true), ('John',false);  

当上述查询执行时,MySQL 立即检查表中的布尔数据类型。如果找到布尔文字,它将被转换为整数值 0 和 1。执行以下查询以从学生表中获取数据:

Mysql> SELECT  studentid, name, pass FROM student;  

您将获得以下输出,其中 true 和 false 文字被转换为 0 和 1 值。

file

由于 MySQL 总是使用 TINYINT 作为布尔值,我们也可以将任何整数值插入到布尔列中。执行以下语句:

Mysql> INSERT INTO student(name, pass) VALUES('Miller',2);  

您将得到以下结果:

file

在某些情况下,您需要以 true 和 false 文字获取结果。在这种情况下,您需要使用 select 语句执行 if() 函数,如下所示:

Mysql> SELECT  studentid, name, IF(pass, 'true', 'false') completed FROM student1;  

它将给出以下输出:

file

MySQL 布尔运算符

MySQL 还允许我们使用布尔数据类型的运算符。执行以下查询以获取表 student 的所有通过结果。

SELECT studentid, name, pass FROM student1 WHERE pass = TRUE;  

此语句返回以下输出:

file

上述语句仅在值等于 1 时才返回通过结果。我们可以使用IS运算符来修复它。此运算符使用布尔值验证该值。以下声明解释了这一点:

SELECT studentid, name, pass FROM student1 WHERE pass is TRUE;  

执行此语句后,您将得到以下结果:

file

如果您想查看待处理的结果,请使用IS FALSEIS NOT TRUE运算符,如下所示:

SELECT studentid, name, pass FROM student1 WHERE pass IS FALSE;  

OR,  

SELECT studentid, name, pass FROM student1 WHERE pass IS NOT TRUE;  

您将获得以下输出:

file

赞(0) 打赏
未经允许不得转载:IDEA激活码 » MySQL系列教程 --- 61、MySQL 中的 Boolean 类型

一个分享Java & Python知识的社区