Mysql的支持的数据类型主要介绍常见的三种类型:
*
char和varchar
char(M):M的取值可以在0-255之间,大小就是M个字节,这个存储的大小就是固定了,不会随这存储的字符的长度改变而改变大小
varchar(M):M的长度在0-65535之间,大小是长度 + 1个字节。即存储大小是根据存储的实际length + 1个字节而改变的。所以我称之为动态大小的字符串存储形式
区别:它们两个之间除了最大存储字符大小的区别之外还有一个就是char会吧存储的字符串最后的空格自动去除掉而varchar不会,看图:
创建一个表,分别是不同类型的数据格式
插入两个字符,后面加入空格
查看长度,可以看见varchar没有去除后面的空格,直接原样插入
*
double(float)和decimal
double(float):一般定义方法double(float)(M,D),M表示共显示M位数字,D表示有D位显示的是精度。注意的是这并非标准写法
decimal: 一般写法decimal(M,D):M和D意思和上面一样,但是如果你不写默认是decimal(10,0)
*
date和timestamp
date和timestamp的区别就是表示的时间区间不同和timestamp是自动根据当时的取值的时区进行换算的,而datetime则是插入的时候是什么样取出来就是什么样;