在 MySQL 中使用布尔数据类型

Preet Sanghavi 2023年1月3日
在 MySQL 中使用布尔数据类型

在本教程中,我们旨在了解如何在 SQL 中使用布尔数据类型。

数据库开发人员偶尔会使用布尔数据类型,只允许两个可能的值,TrueFalse。只有两个可能的值使事情变得更容易。

虽然 Boolean 不是 SQL Server 中支持的数据类型,但有一种方法可以在 SQL 中存储布尔值。此方法涉及在 SQL 中使用 BIT 数据类型。

在本文中,我们将介绍 SQL Server 中的位数据类型。对于 SQL Server,位数据只能采用以下值之一:0、1、NULL。

关于存储,对于少于九列的表,位数据以一个字节存储。对于 9 到 16 个这样的列的表,位数据占用 2 个字节。

此外,SQL 表中的字符串值可以转换为 BIT 值。让我们试着理解这个语句是如何工作的。

然而,在我们开始之前,我们创建了一个虚拟数据集来使用。在这里,我们创建了一个表,student_details,以及其中的 stu_firstNamestu_lastNamestu_passedstu_id 列。

注意
stu_passed 列采用 1 或 0 的布尔值来指示学生通过与否。1 代表学生通过,2 代表学生不及格。
-- create the table student_details
CREATE TABLE student_details(
  stu_id int,
  stu_firstName varchar(255) DEFAULT NULL,
  stu_lastName varchar(255) DEFAULT NULL,
  stu_passed BIT,
  primary key(stu_id)
);

现在让我们在表中插入学生详细信息,并将 stu_passed 作为布尔值。

-- insert bulk rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName,stu_passed) 
 VALUES(1,"Preet","Sanghavi",0),
 (2,"Rich","John",1),
 (3,"Veron","Brow",0),
 (4,"Geo","Jos",1),
 (5,"Hash","Shah",1),
 (6,"Sachin","Parker",1),
 (7,"David","Miller",0);

上面的代码将在表 student_details 中输入学生数据。我们可以使用以下命令可视化此表:

SELECT * from student_details;

上述代码块将生成以下输出:

stu_id	stu_firstName   stu_lastName	stu_passed   
1		Preet			Sanghavi		0
2		Rich			John			1
3		Veron			Brow			0
4		Geo				Jos				1
5		Hash			Shah			1
6		Sachin			Parker			1
7		David			Miller			0

正如我们在上面看到的,stu_id 为 1、3 和 7 的学生在 stu_passed 列中的值为 0。这表明这些学生没有通过考试。

另一方面,stu_id 为 2、4、5 和 6 的学生在 stu_passed 列中的值为 1。这表明这些学生已经通过了考试。

使用 BIT 的这种想法有助于我们在 SQL 中存储类似于布尔数据类型的值。因此,我们学习了如何在 SQL 中使用布尔值。

作者: Preet Sanghavi
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub