mysql数据库中varchar的存储单位是什么
⼀、先了解字节与字符
1. 字节(Byte)是计量单位,表⽰数据量多少,是计算机信息技术⽤于计量存储容量的⼀种计量单位,通常情况下⼀字节等于⼋位。
2. 字符(Character)计算机中使⽤的字母、数字、字和符号,⽐如'A'、'B'、'$'、'&',1、2、3、~!·#、¥、%、…、*、(、)—、
+、'汉字'等等。
⼀般在英⽂状态下⼀个字母或字符占⽤⼀个字节,⼀个汉字⽤两个字节表⽰。
字节与字符
ASCII 码中,⼀个英⽂字母(不分⼤⼩写)为⼀个字节,⼀个中⽂汉字为两个字节。
UTF-8 编码中,⼀个英⽂字为⼀个字节,⼀个中⽂为三个字节。
Unicode 编码中,⼀个英⽂为⼀个字节,⼀个中⽂为两个字节。
idea是什么专业符号:英⽂标点为⼀个字节,中⽂标点为两个字节。例如:英⽂句号 . 占1个字节的⼤⼩,中⽂句号 。占2个字节的⼤⼩。
UTF-16 编码中,⼀个英⽂字母字符或⼀个汉字字符存储都需要 2 个字节(Unicode 扩展区的⼀些汉字存储需要 4 个字节)。
UTF-32 编码中,世界上任何字符的存储都需要 4 个字节。
单位换算
计算机存储信息的最⼩单位,称之为位(bit),⾳译为⽐特,⼆进制的⼀个“0”或⼀个“1”叫⼀位。
计算机存储容量基本单位是字节(Byte),⾳译为拜特,8个⼆进制位组成1个字节。⼀般⽽⾔:⼀个标
唐山企业网站模板建站准英⽂字母占⼀个字节位置,⼀个标准汉字占⼆个字节位置。
计算机存储容量⼤⼩以字节数来度量,1024进位制:
1024B=1K(千)B
1024KB=1M(兆)B
1024MB=1G(吉)B
1024GB=1T(太)B
以下还有PB、EB、ZB、YB 、NB、DB,⼀般⼈不常使⽤了。
⼆、mysql数据库中varchar的长度与字节、字符的关系
准备sql脚本:
CREATE TABLE `test` (
weight是什么意思翻译成中文`id` bigint(20) NOT NULL AUTO_INCREMENT,
`content` varchar(5) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into test (id, content) values(default, 'abcde');
insert into test (id, content) values(default, '12345');
insert into test (id, content) values(default, '!@#$%');
insert into test (id, content) values(default, '你好就是我');
select * from test;
#查看mysql版本号
unparseable dateselect version();
分析:四条语句(英⽂字母/数字/字符/中⽂)都能正确插⼊(当前mysql版本号8),查询结果如下:
mysql版本号:
三、结论
mysql⾥的varchar是字符单位,⽆论内容是英⽂、数字、字符、中⽂,都能插⼊。
四、拓展
varchar存储规则:
mysql4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 。
mysql5.0版本以上,varchar(20),指的是20字符,⽆论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个。mysql是什么系统
二郎神杨戬的师傅是谁
varchar与char区别:
CHAR:固定长度的类型,若输⼊数据的字符⼩于指定长度,则系统⾃动在其后添加空格来填满设定好的空间。
VARCHAR:可变长度的类型。数据类型的存储长度为实际数值长度,字符的长度⼩于指定长度,不会⽤空格填充。
timestamp与datetime存储的时间范围:
timestamp所能存储的时间范围为:’1970-01-01 00:00:01.000000’ 到 ‘2038-01-19 03:14:07.999999’。
datetime所能存储的时间范围为:’1000-01-01 00:00:00.000000’ 到 ‘9999-12-31 23:59:59.999999’。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论