mysql怎么存bool
时间 : 2023-08-01 15:21:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

在MySQL中,可以使用不同的方法来存储布尔类型的值。

方法一:使用TINYINT

可以使用TINYINT数据类型来表示布尔类型,其中0表示false,1表示true。

例如,可以创建一个名为is_active的列,使用TINYINT数据类型来存储布尔值:

```sql

CREATE TABLE example_table (

id INT PRIMARY KEY AUTO_INCREMENT,

is_active TINYINT

);

然后可以插入数据:

```sql

INSERT INTO example_table (is_active)

VALUES (1), (0), (1);

查询数据时,可以使用0和1来表示布尔值:

```sql

SELECT * FROM example_table;

结果:

+----+-----------+

| id | is_active |

+----+-----------+

| 1 | 1 |

| 2 | 0 |

| 3 | 1 |

+----+-----------+

方法二:使用ENUM

另一种常用的方法是使用ENUM数据类型来存储布尔值。ENUM允许定义一个固定的集合值。

例如,可以创建一个名为is_active的列,使用ENUM数据类型来存储布尔值:

```sql

CREATE TABLE example_table (

id INT PRIMARY KEY AUTO_INCREMENT,

is_active ENUM('true', 'false') default 'false'

);

然后可以插入数据:

```sql

INSERT INTO example_table (is_active)

VALUES ('true'), ('false'), ('true');

查询数据时,可以直接使用字符串来表示布尔值:

```sql

SELECT * FROM example_table;

结果:

+----+-----------+

| id | is_active |

+----+-----------+

| 1 | true |

| 2 | false |

| 3 | true |

+----+-----------+

方法三:使用BIT

还可以使用BIT数据类型来存储布尔值。BIT类型是一种允许存储位级别的数据类型。

例如,可以创建一个名为is_active的列,使用BIT(1)数据类型来存储布尔值:

```sql

CREATE TABLE example_table (

id INT PRIMARY KEY AUTO_INCREMENT,

is_active BIT(1)

);

然后可以插入数据:

```sql

INSERT INTO example_table (is_active)

VALUES (b'1'), (b'0'), (b'1');

查询数据时,可以使用b'1'和b'0'来表示布尔值:

```sql

SELECT * FROM example_table;

结果:

+----+-----------+

| id | is_active |

+----+-----------+

| 1 | 1 |

| 2 | 0 |

| 3 | 1 |

+----+-----------+

以上是在MySQL中存储布尔值的几种常用方法。选择哪种方法取决于实际需求和个人喜好。