MySql数据类型分析(字符类型) Part4

一.字符类型包括:

char

varchar

text

二.字符类型详细介绍表

类型
说明典型声明范围M值说明
char定长字符串gender char(1)char(M)
0=<M<=255
M代表可容纳的字符数,并非字节数
varchar变长字符串email varchar(20)varchar(M)
0<=M<=65535
约2万到6万个字符,受字符集影响
M代表可容纳的字符数,并非字节数
text文本串content text约2万到6万个字符,受字符集影响M代表可容纳的字符数,并非字节数
三.举例

1.创建学生表

create table stu

(

name char(8) not null default '',

waihao varchar(10) not null default ''

)charset utf8;

执行结果:


2.插入数据

insert into stu

(name,waihao)

values

('穆罕默德阿帕奇','小三')

结果:


由插入的name值可以看出M值代表的是字符。而不是字节。


四.char与varchar的区别

1.char(M) 是定长, 如果存入数据小于M个字符,实占M个字符。

2.varchar(M)是变长,如果存入的数据小于M个字符,假如输入N个字符(N<=M),则实战N个字符。

3.char 与varchar 实占空间分析表

类型宽度可存字符实存字符(i<=M)实占空间利用率
charMMiM<=100%
varcharMMii字符+(1-2)字节<100%

由空间分析表可得:

varchar类型有一定的资源浪费,

以公交车 举例,

char类型好比 短途 市区 公交 ,每次只需投币1元,不论你做几站,都是定长的1元。

varchar类型好比市区到郊区的 长途公交,可根据乘车距离定站 收费,但是需要浪费 一个乘务员收费,需要占据一定的空间,

4.char类型如空间有剩余,则 以空格填充。

5.速度比较,定长的速度 比变长 高,

   变长的空间利用率比定长高。

五.text类型

主要存放比较大的内容时使用。

搜索比较慢,

不能用默认值,写了默认值也不起作用。



转载于:https://www.cnblogs.com/lechao/p/3655636.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值