数据类型
数字:整数,小数
存储长度
tinyint 1B
int 4B
bigint 8B
字符串类型
char( 长度) :定长字符串 255字符
varchar(长度) :变长字符串 65535字符
例如:
char(10) 最多存10个字符,如果不够10个,自动用空格填充,对于磁盘,都会占满10个字符
varchar(10) 最多10个字符,按需分配,占不到10个,就会节省空间.
补充:
1.varchar类型,在存储数据时,会先判断字符长度,然后分配空间。
char 类型,不会判断,立即分配空间
所以在固定长度的列中,推荐选择char类型。
2.varchar类型,出了会存储字符串本身之外,还会额外使用一到2个字节,
存储字符长度。
3.应用场景
1.固定长度char类型,不固定varchar类型
4.括号中数字的问题。
varchar(10)括号中的表示的是10个字符而不是字节。
数字和字母,不考虑编码,都是占用一个字节.
对于汉字和特殊字符,要考虑编码来确定占用的空间.
utf8,utf8mb4,每个中文占3个字节,特殊字符,如emoji占用4个。
字节长度不能超过65535.
彩蛋:以上两种数据类型选择会影响索引的使用。需谨守。
enum ('北京','四川') 枚举类型,会拥有下标索引.
说明:字符串类型
作用:可以节省空间,提升性能。
例如:
id telnum name id city
时间类型
DATETIME :占用8个字节,范围 1001-01-01 00:00:00 ----> 9999-12-31 23:59:59
TIMESTAMP :占用4个字节,1970-01-01:00:00:00 ----->2038-01-19 03:14:07
二进制类型
不常用
json类型
{
id:101
name:'good'
}
网友评论