布尔值是最简单的数据类型,总是返回两个可能的值,即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表中。创建一个表格学生,演示在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> 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始终使用TINYINT作为布尔值,因此无涯教程也可以将任何整数值插入Boolean列。执行以下语句:
Mysql> INSERT INTO student(name, pass) VALUES('Miller',2);
您将得到以下结果:
在某些情况下,您需要使用正确和错误的文字获取结果。在这种情况下,您需要使用select语句执行if()函数,如下所示:
Mysql> SELECT studentid, name, IF(pass, 'true', 'false') completed FROM student1;
它将给出以下输出:
MySQL还允许无涯教程对布尔数据类型使用运算符。执行以下查询以获取表格Student的所有及格结果。
SELECT studentid, name, pass FROM student1 WHERE pass = TRUE;
该语句返回以下输出:
上面的语句仅在值等于1时返回通过结果。可以使用 IS 运算符对其进行修复。该运算符使用布尔值验证该值。以下语句对此进行了解释:
SELECT studentid, name, pass FROM student1 WHERE pass is TRUE;
执行此语句后,您将得到以下结果:
如果要查看待处理的结果,请使用 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;
您将获得以下输出:
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)