MySQL系列之字符串数据类型详解📝
字符串类型是MySQL中最常用的数据类型之一,用于存储文本信息。MySQL提供了多种字符串类型,各有特点,让我们一起来了解它们吧!👋
CHAR与VARCHAR🔤
```sql
CREATETABLEuser_info(
idINT,
usernameCHAR(20),--固定长度字符串
nicknameVARCHAR(50)--可变长度字符串
);
```
-CHAR:固定长度字符串,长度范围0-255字节。存储时会用空格填充到指定长度,适合存储长度固定的数据如MD5值、国家代码等。🔒
-VARCHAR:可变长度字符串,长度范围0-65535字节。只占用实际需要的空间+1-2字节长度前缀,适合存储长度变化的数据如用户名、地址等。🔓
TEXT类型📜
```sql
CREATETABLEarticles(
idINT,
titleVARCHAR(100),
contentTEXT,--最大65535字节
long_contentLONGTEXT--最大4GB
);
```
TEXT系列用于存储大文本数据:
-TINYTEXT:最大255字节
-TEXT:最大65,535字节
-MEDIUMTEXT:最大16,777,215字节
-LONGTEXT:最大4,294,967,295字节
BINARY与VARBINARY🔣
```sql
CREATETABLEbinary_data(
idINT,
fixed_binaryBINARY(10),--固定长度二进制
var_binaryVARBINARY(100)--可变长度二进制
);
```
与CHAR/VARCHAR类似,但存储的是二进制数据而非字符,常用于存储加密数据、图片等二进制内容。💾
ENUM与SET🎚️
```sql
CREATETABLEuser_preferences(
idINT,
genderENUM('male','female','other'),--单选枚举
hobbiesSET('reading','sports','music','travel')--多选集合
);
```
-ENUM:枚举类型,只能选择列表中的一个值
-SET:集合类型,可以选择多个值的组合
选择合适的字符串类型能有效优化存储空间和查询性能,根据实际需求选择最合适的类型吧!💡