bit类型

表结构

CREATE TABLE `t3` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `bi` bit(8) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

 插入

insert into t3 (bi) values (11); 

 对于bit类型,实际保存的是二进制数。bit(8)表示该字段最多保存8位二进制数,也就是说最大保存整数255.

 

查询

select bi+0 from t3;

结果

+------+
| bi+0 |
+------+
|   11 |
+------+

对于bit类型,查询数据的格式是 (字段+0)

 

插入

insert into t3 values (65);

查询

select bi from t3;

结果

+------+
| bi   |
+------+
|     |
| A    |
+------+

说明bit类型的值,在普通查询中是以ascii字符输出的,由于ascii码值11是不可打印字符,所以显示为空。以(字段+0)形式是以ascii码值输出

 

查询

select bin(bi+0),oct(bi+0),hex(bi+0) from t3;

结果

+-----------+-----------+-----------+
| bin(bi+0) | oct(bi+0) | hex(bi+0) |
+-----------+-----------+-----------+
| 1011      | 13        | B         |
+-----------+-----------+-----------+

 

在insert时插入二进制数据的语法是 b'value'

插入

insert into t3 (bi) values (b'11')

 查询

select bi+0, bin(bi+0),oct(bi+0),hex(bi+0) from t3;

结果

+------+-----------+-----------+-----------+
| bi+0 | bin(bi+0) | oct(bi+0) | hex(bi+0) |
+------+-----------+-----------+-----------+
|   11 | 1011      | 13        | B         |
|    3 | 11        | 3         | 3         |
+------+-----------+-----------+-----------+

 

 插入

 insert into t3 (bi) values ('bc'); 

插入字符串,严格模式下报错,非严格模式下保存值为bit(8)的最大值255

 

转载于:https://www.cnblogs.com/bibiafa/p/9205023.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BIT 类型在 MySQL 中是一种二进制数据类型的别名,用于存储整数并表示为一组位(bits)。这种数据类型可以存储真值、假值或者是更复杂的二进制信息。 ### BIT 类型的特点: 1. **长度**:BIT 的长度默认为 1 或者是一个从 1 到 64 的整数值。例如,`BIT(8)` 可以存储 8 个二进制位的信息。 2. **储存方式**:默认情况下,MySQL 使用一种称为 “big endian” 的方式来存储二进制数据。这意味着最高有效位 (MSB) 被存储在地址最低的位置,而最低有效位 (LSB) 存储在最高位置。你可以通过设置 `storage_format` 属性来改变这一点,使其采用 “little endian” 方式。 3. **转换**:通常,当你插入或检索 BIT 数据时,MySQL 会自动将它们转换为布尔值(0 表示 FALSE,非零值表示 TRUE),尽管这可能会引起一些混淆。因此,在进行复杂操作时需要特别小心。 ### 实际应用场景: - **标记或状态管理**:BIT 类型常用于数据库中作为一系列开关或状态的集合。每个位可以代表一种特定的状态,这对于管理复杂配置或者用户权限等场景非常有用。 - **压缩数据**:在某些情况下,使用 BIT 类型存储数据可能是对存储空间的一种优化手段。特别是当每种状态只使用少量的数据,并且不需要复杂的操作时。 ### 示例: ```sql CREATE TABLE Example ( bitColumn BIT(4) NOT NULL, PRIMARY KEY(bitColumn) ); INSERT INTO Example VALUES (BINARY '1010'); SELECT * FROM Example; ``` 上述 SQL 代码创建了一个包含名为 `bitColumn` 的 BIT 类型列的表,并插入了一条记录。这里我们使用了 `'1010'` 来初始化这个 4 位的 BIT 列。 ### 相关问题: 1. **如何在查询中利用 BIT 类型?** 2. **BIT 类型在何种情况下优于其他数据类型?** 3. **如何安全地处理和操作 BIT 类型数据?**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值