boolean在MySQL中的数据类型

在MySQL中,boolean 数据类型被称为 tinyint(1),因为MySQL没有专门的 boolean 数据类型。在实际使用中,tinyint(1) 可以存储布尔值,其中 0 表示 false,1 表示 true。当然,你也可以自定义其他值来表示不同的逻辑状态,例如 0 表示 false,-1 表示 true。
创建表时使用boolean类型
在创建表时,你可以用 tinyint(1) 类型来定义一个 boolean 类型的字段。例如:
CREATE TABLE users (
id INT PRIMARY KEY,
username VARCHAR(50),
is_active TINYINT(1)
);
在上面的示例中,is_active 字段被定义为 tinyint(1) 类型,可以存储布尔值。
插入数据
当插入数据时,你可以使用 1 和 0 来代表 true 和 false。例如:
INSERT INTO users (id, username, is_active) VALUES (1, 'Alice', 1);
INSERT INTO users (id, username, is_active) VALUES (2, 'Bob', 0);
查询数据
当查询数据时,你可以使用 1 和 0 来判断 true 和 false。例如:
SELECT * FROM users WHERE is_active = 1;
示例代码
下面是一个使用 boolean 类型的示例代码:
CREATE TABLE users (
id INT PRIMARY KEY,
username VARCHAR(50),
is_active TINYINT(1)
);
INSERT INTO users (id, username, is_active) VALUES (1, 'Alice', 1);
INSERT INTO users (id, username, is_active) VALUES (2, 'Bob', 0);
SELECT * FROM users;
SELECT * FROM users WHERE is_active = 1;
运行结果
如果你在MySQL中运行上面的示例代码,你会得到如下结果:
+----+----------+-----------+
| id | username | is_active |
+----+----------+-----------+
| 1 | Alice | 1 |
| 2 | Bob | 0 |
+----+----------+-----------+
+----+----------+-----------+
| id | username | is_active |
+----+----------+-----------+
| 1 | Alice | 1 |
+----+----------+-----------+
从上面的结果可以看出,成功创建了表,并插入了两条数据。最后一个查询语句筛选出了 is_active 为 1 的数据。
综上所述,虽然MySQL中没有专门的 boolean 数据类型,但是你可以用 tinyint(1) 来模拟 boolean 类型,并成功存储和查询布尔值。
极客笔记