(7)字符串类型:varchar、char、text、enum和set(不常用)

来源:互联网 发布:域名投资怎么理解 编辑:程序博客网 时间:2024/06/07 15:30

这里写图片描述

一、char、varchar

char(M) :固定长度
varchar(M):可变长度
M:表示允许的字符长度,而不是字节数,M在varchar中表示允许的最大长度,在char中表示严格限定的长度
在不同的数据库编码情况下,一个字符占用的字节数是不同的,utf8中一个字符占中三个字节
所以varchar(21845)是最大的 21845*3=65535
在gbk中,一个字符占2个字节,所以varchar(32767)是最大的,32767*2=65535

但是,若create table s_2(a varchar(21845))character set utf8;这样写,也会提示错误。
字段的最大长度,除了类型本身限制之外,记录的总长度也有限制

二、text
文本,也有兄弟类型,tinytext、longtext,表示的字符串长度不一样

三、enum
相当于单选题:比如性别:男 女 保密 只能选择一个
create table s_2(gender enum(‘female’,’male’));
insert into s_2 values(‘male’);
insert into s_2 values(‘female’);
insert into s_2 values(‘other’); (会保存,不能插入成功,因为枚举中没有这个值)
insert into s_2 values(‘2’);//相当于存的male
其书写形式为字符串,但在内存中是存储的整型
整数是第几个字段
这里写图片描述

四、set

相当于不定项选择,比如会的技术: Java 、sql、html 可以选择多个
create table s_3(name varchar(10),hobbies set(‘basket’,’song’,’dance’));
insert into s_3 values(‘xiaoming’,’basket,dance’);//注意将多现放在一个字符串中,用“,”隔开
这里写图片描述
得到的数值进行位异或运算

阅读全文
0 0
原创粉丝点击