学习笔记:MySQL字符串类型

时间:2023-03-10 00:29:01
学习笔记:MySQL字符串类型

字符串类型

a)         char和varchar

1.都需要指定字符的长度,char中的长度是字符的长度,而varchar的长度是字节的长度

2. char中指定的长度就是实际占用的长度,而varchar指定的长度只是一个范围,所以varchar还要拿1-2个字节存储该字符串到底有多少个字节,并且varchar中能够实际存储的字符跟编码有关(utf8编码20000多,gbk编码30000多)

3.varchar对存储空间的占用更灵活,但是char的效率更高

4.如果字符串的长度是固定已知的,就用char,如果字符串的长度是可变的,就用varchar

b)         text:

文本类型,使用起来类似于varchar,只不过这里不需要指定长度,其中longtext认为文本没有限制

c)         enum:

枚举类型,类似于单选!实际存储的是原选项的位置,位置用1,2,3,4来代替,理论上最多可以表示65535个选项

d)         set:

集合类型,类似于多选!实际存储的是也原选择的位置,位置用1,2,4,8来代替,然后把所有选项的位置相加,理论上最多可以表示64个多选项

e)         binary、varbinary、blob:

二进制文本类型,就是字节流的char、varchar和text,在实际的项目中,很少使用