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

MySQL 数据库中的字段类型 varchar 和 char 的主要区别是什么?哪 种字段的查找效率要高,为什么?

2016-12-01 14:34 761 查看
区别一,定长和变长

char 表示定长,长度固定,varchar 表示变长,即长度可变

当所插入的字符串超出它们的长度时,视情况来处理,如果是严格模式,则会拒绝插入

并提示错误信息,如果是宽松模式,则会截取然后插入。如果插入的字符串长度小于定义长

度时,则会以不同的方式来处理,如 char(10),表示存储的是 10 个字符,无论你插入的是

多少,都是 10 个,如果少于 10 个,则用空格填满。而 varchar(10),小于 10 个的话,则

插入多少个字符就存多少个。varchar 怎么知道所存储字符串的长度呢?实际上,对于

varchar 字段来说,需要使用一个(如果字符串长度小于 255)或两个字节(长度大于 255)

来存储字符串的长度。

区别之二,存储的容量不同对 char 来说,最多能存放的字符个数

255,和编码无关。

而 varchar 呢,最多能存放 65532 个字符。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 mysql
相关文章推荐