MySQL - Boolean 语句

MySQL - Boolean 语句 首页 / MySQL入门教程 / MySQL - Boolean 语句

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

MySQL不包含内置的Boolean或Bool数据类型。它们提供了 TINYINT 数据类型,而不是Boolean或Bool数据类型。 MySQL 认为零值是false,非零值是true。如果要使用布尔文字,请使用true或false,它们的总值为0和1。 0和1代表整数值。

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

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

成功执行后,将显示以下结果:

MySQL Boolean

MySQL布尔值示例

无涯教程可以将布尔值作为整数数据类型存储在MySQL表中。创建一个表格学生,演示在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;
MySQL Boolean

让无涯教程借助以下查询在上表中添加两个新行:

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值。

MySQL Boolean

由于MySQL始终使用TINYINT作为布尔值,因此无涯教程也可以将任何整数值插入Boolean列。执行以下语句:

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

您将得到以下结果:

MySQL Boolean

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

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

它将给出以下输出:

MySQL Boolean

MySQL布尔运算符

MySQL还允许无涯教程对布尔数据类型使用运算符。执行以下查询以获取表格Student的所有及格结果。

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

该语句返回以下输出:

MySQL Boolean

上面的语句仅在值等于1时返回通过结果。可以使用 IS 运算符对其进行修复。该运算符使用布尔值验证该值。以下语句对此进行了解释:

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

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

MySQL Boolean

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

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

OR,

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

您将获得以下输出:

MySQL Boolean

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

技术与商业案例解读 -〔徐飞〕

深入拆解Java虚拟机 -〔郑雨迪〕

Linux性能优化实战 -〔倪朋飞〕

趣谈Linux操作系统 -〔刘超〕

Django快速开发实战 -〔吕召刚〕

深入剖析Java新特性 -〔范学雷〕

大厂广告产品心法 -〔郭谊〕

Serverless进阶实战课 -〔静远〕

超级访谈:对话毕玄 -〔毕玄〕

好记忆不如烂笔头。留下您的足迹吧 :)