MySQL 数据库中BINARY 和VARBINARY 类型

MySQL 提供了两种用于存储固定长度和可变长度二进制数据的类型:BINARY 和VARBINARY,这些类型可以用来存储原始的二进制数据,如图片、声音或其他非文本数据。
BINARY 类型
定义:BINARY 是一个固定长度的二进制字符串类型,长度在创建表时指定。
存储:存储固定长度的数据,如果实际数据长度小于指定长度,则在末尾填充空字节()。
示例:
```sql
CREATE TABLE binary_table (
binary_col BINARY(10)
);
INSERT INTO binary_table (binary_col) VALUES (B'hello');

```
在此例中,binary_col 将被填充为hello。
VARBINARY 类型
定义:VARBINARY 是一个可变长度的二进制字符串类型,长度可以是 0 到 65,535 字节。
存储:存储可变长度的数据,不需要填充空字节。
示例:
```sql
CREATE TABLE varbinary_table (
varbinary_col VARBINARY(10)
);

INSERT INTO varbinary_table (varbinary_col) VALUES (B'hello');
```
在此例中,varbinary_col 将直接存储hello。
BINARY 和VARBINARY 都用于存储二进制数据。
BINARY 类型固定长度,需要填充空字节。
VARBINARY 类型可变长度,不需要填充空字节。
选择哪种类型取决于具体的应用场景和数据需求。
希望以上信息对您有所帮助。