老师不懂 0<=M<=255在database是.............?

来源:2-4 简单慕课用户数据表创建

iStream

2018-09-29 11:03:04

http://img.mukewang.com/climg/5baeeb5a000130e816280704.jpg

http://img.mukewang.com/climg/5baeeb5a00012f5121141324.jpg


写回答

1回答

好帮手慕阿莹

2018-09-29

1、此处的M指的是字节 

2、因为对于汉字不同的字符集,在数据库占用的字节是不一样的。UTF-8字符集,一个汉字占三个字节,gbk字符集,一个汉字占两个字节

3、关于char和varchar的使用场景,比如定义用户名为char(30)和varchar(30)的区别,如果用户名的值为“abc”,那么定义为char类型,则存储时不论实际用户名有几个字符,都会占用30个字节的存储空间,而使用varchar则只占3个字节的存储空间,用多少占多少。

所以,因为用户名长度不固定,一般用varchar来表示用户名可以节省空间。而比如存储手机号,固定是11位,可以用char来表示。

4、至于为什么要用字节而不用二进制位,字节最终也可以换算成二进制位,但是二进制位这个存储单位太小了,1个字节8位,255个字节就是255*8这么多位,数比较大,也不直观。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


0
hStream
h 谢谢,我会努力的!
h018-09-29
共1条回复

0 学习 · 4297 问题

查看课程