你把欢乐告诉一个朋友,你将得到两个欢乐;你把忧愁向一个朋友倾吐,你将被分掉一半忧愁。by 培根
最近在数据库的使用过程对字符、字节等概念有些不清楚,所以查阅资料得到下面的结论。如果你也有相同的困惑,那就直接看正文。
1.字符:首先以字符谈起。
查阅百度百科,我们可以知道什么是字符,很简单,每一个汉字或者字母等等只要是一个单独存在的都看作一个字符,“文”,“1”,“,”等等每一个个体就是一个字符。
字符的含义
2.字节: 关于字节
我们能够看到字节(Byte /bait/ n. [C])是计算机信息技术用于计量存储容量的一种计量单位。上面讲到了字符,那么字符和字节的换算可以看下图
字符和字节
在不同的编码格式下,有不同的换算方式。
换算方式
3.位: 数据存储的最小单位,
1字节=8位 0000 0000
由下图也可以知道为什么汉字用2个字节表示了,就是因为1个字节的上限不够表示,才用2个字节表示。
位的换算
4.Mysql的varchar(10)
在使用MySQL数据库时候,常常会因为varchar(?)其中的?代表什么而困惑,为此做了测试,我的是MYSQL 5.X的,我发现在我的测试中定义了如下表格,同时加入汉字和字符做了测试,得出的结论是在此版本下,“?”代表的是字符数,而不是字节。
新建字段和测试数据
不难印证上述观点,下图是查阅资料得到的其他讯息供大家参考。
5.Oracle的varchar2(10)
对于其中的(10),可以参考下图
这样一来这5个概念基本就介绍清楚了。
领取专属 10元无门槛券
私享最新 技术干货