基础概念(细节)
一、int相关
1.1 int(11)到底什么?
概念
这个11是长度是代表最大长度是11位么? NONONO,不是的。这个其实是代表的显示宽度,如果你的长度不够左边会补0
无论你显示宽度设置为多少,int 类型能存储的最大值和最小值永远都是固定的。
图解
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HoIgX35z-1649088249676)(mysql基础概念.assets/image-20220404235652003.png)]
1.2 字符与字节的区别
1 字节 = 8 位
字节(Byte)是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位。
字符(Character)计算机中使用的字母、数字、字和符号,比如’A’、‘B’、‘$’、'&'等。
一般在英文状态下一个字母或字符占用一个字节,一个汉字(全角)用两个字节表示,半角是一个字节。
二、varchar相关
2.1 varchar(50),能存多少个中文字?
首先这个要区分mysql的版本
5.+版本以上
mysql 5.0版本以上,varchar(50), 指的是50字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放50个。
4.0版本以下
varchar(50), 指的是50字节,如果存放utf8汉字时,只能存放16个(每个汉字3字节)。