字符串类型:char,varchar,text,enum,set

字符串类型

1.char
格式:char (M)

2.varchar
格式:varchar (M)

【注意】M表示允许的字符串长度[65535]。M表示的是字符数,而不是字节数。但是最大长度的使用是按照字节来算的。
    varchar中M表示,是允许的最大长度,在最大长度范围内就行,可变长度。
    char内M表示严格限定的长度,固定长度。


    char(5)    varchar(5)   说明

''    5个字节    1个字节    varchar需要一个字节保存字符串总长度
'abc'   5个字节       6个字节

 

**总结**1,varchar的空间利用优于char;char的效率比varchar快(速度快)。
                   2,varchar总长度65535;char的特点,当类型数据超过255个字符时,采用2B表示长度。65535-2=65533
                    整条记录,需要一个额外的字节(1B),用于保存当前字段的null值。除非所有的字段都不是null,这个字节才可以省略。

 

给表设置 字符集 方法:
create table s_1 ( a varchar(100)) character set utf8;

注意:字段的最大长度(65535),除了类型本身限制之外,记录的总长度也有限制。

 

3.text
文本,有很多兄弟类型:
tinytext longtext 表示的字符串长度不一样。
分别可存储大小:
tinytext:1B
text:64KB
mediumtext:16MB
longtext:4GB


3.enum
枚举类型:多个可选值中选择一个(单选)

例子:CREATE TABLE s_2 (gender enum('female','male'));
解析:在INSERT插入数据的时候只能在female和male中选择一个,否则插入失败或者为空值。

例子:select gender+0 from s_2;
解析:显示enum中第几个选项


4.set
集合:不定项选择

例子:CREATE TABLE s_5(name varchar(10),hobby set('basketball','pingpong','soccer','tennis'));

解析:INSERT INTO s_5 VALUES('jack','tennis,soccer,basketball');
【注意】如果插入的值不在set里面,则无法插入该值;可以任意插入set中设置好的一个或者多个值。

转载于:https://www.cnblogs.com/python-wen/p/10009430.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值