您的位置:首页 > 数据库 > MySQL

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

2014-04-09 17:04 246 查看
一.字符类型包括:

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类型

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

搜索比较慢,

不能用默认值,写了默认值也不起作用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: