整型
tinyint(m) 1个字节 范围(-128~127)
smallint(m) 2个字节 范围(-32768~32767)
mediumint(m) 3个字节 范围(-8388608~8388607)
int(m) 4个字节 范围(-2147483648~2147483647)
bigint(m) 8个字节 范围(+-9.22*10的18次方)
括号中的m代表显示的宽带其实在整型中并没有什么卵用,int(10)与int(1)都占用4个字节。
int(3)也可以储存66666当然也可以显示,但是长度不能超过2147483647也就是10位数。此处留个疑问:所以电话号码不能用int来储存,那么用char好还是用bigint?
字符型
char(n) 固定长度,最多255个字符,n个字节
varchar(n) 可变长度,最多65535个字符,L+1个字节
tinytext 可变长度,最多255个字符
text 可变长度,最多65535个字符
mediumtext 可变长度,最多2的24次方-1个字符
longtext 可变长度,最多2的32次方-1个字符
char类型为定长char(5)储存5个字符,如utf-8时,它的每个字符都可能会占用不同的
存储空间,汉字的每个字符为三个字节,所以char(5)在存储5个汉字时占用5*3个字节,
char类型适合固定长度的字符,超出部分会被截取,不足部分会以空格补充,取出时会去掉
后面空格。它的速度性能要优于varchar。varchar类型适用不定长varchar(5),utf8下储存5个汉字占用的字节为:5*3+1个字节,
超出部分会被截掉,不足部分不进行填充。
应用判断场景:
手机号码的类型选择
手机号码为固定的11位所以可以选择char类型或者bigint类型,那么char(11)占用11个字节,然而bigint占用8个字节,所以选择bigint类型储存手机号更为合适。
本文详细介绍了数据库中的整型和字符型数据类型,包括tinyint、smallint、mediumint、int、bigint以及char、varchar等类型的存储原理和应用场景,并通过具体实例对比了不同数据类型的优劣。
3298

被折叠的 条评论
为什么被折叠?



