mysql字段类型
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型还有NULL;
数值类型
tinyint 十分小的数据 一个字节
smallint 较小的数据 , 两个字节
mediumint 中等大小的数据 三个字节
int 标准的整数 四个字节
big 较大的数据 八个字节
float 浮点数 四个字节
double 浮点数 八个字节(精度问题)
decimal 字符串形式的浮点数 金融计算的时候,一般用decimal
字符串
char 字符串固定大小 0~255
varchar 可变字符串 0~65535 常用的String
tinytext 微形文本 2^8-1
text 文本穿 2^16-1
char和varchar区别
1、CHAR的长度是不可变的,而VARCHAR的长度是可变的,也就是说,定义一个CHAR[10]和VARCHAR[10],如果存进去的是‘ABCD’, 那么CHAR所占的长度依然为10,除了字符‘ABCD’外,后面跟六个空格,而VARCHAR的长度变为4了,取数据的时候,CHAR类型的要用trim()去掉多余的空格,而VARCHAR类型是不需要的。
2、CHAR的存取速度要比VARCHAR快得多,因为其长度固定,方便程序的存储与查找;但是CHAR为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可以说是以空间换取时间效率,而VARCHAR则是以空间效率为首位的。
3、CHAR的存储方式是,一个英文字符(ASCII)占用1个字节,一个汉字占用两个字节;而VARCHAR的存储方式是,一个英文字符占用2个字节,一个汉字也占用2个字节。
时间日期
date yyyy-mm-dd,日期(年月日)
time hh:mm:ss 时间格式(时分秒)
datetime yyyy-mm-dd hh:mm:ss 最常用的时间格式
timestamp 时间戳 1970.1.1到现在的毫秒数 较为常用
year 年份表示