Mysql支持的多种数据类型主要有:数值数据类型、日期/时间类型、字符串类型。
1、整数类型
2、浮点数&定点数
注:定点数以字符串形式存储,对精度要求高时使用decimal较好;尽量避免对浮点数进行减法和比较运算。
3、时间/日期类型
4、字符串类型
blob-二进制大对象,用来存储可变数量的数据。
varchar以及varchar2差别:
1. VARCHAR2把所有字符都占两字节处理(一般情况下),VARCHAR只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;
2. VARCHAR2把空串等同于null处理,而VARCHAR仍按照空串处理;
3. VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,
大部分情况下建议使用VARCHAR2类型,可以保证更好的兼容性。
int(11)
在SQL语句中int代表你要创建字段的类型,int代表整型,11代表字段的长度。
这个11代表显示宽度,整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,比如,不管设定了显示宽度是多少个字符,bigint都要占用8个字节。
int是整型,(11)是指显示字符的长度,但要加参数的,最大为255,比如它是记录行数的id,插入10笔资料,它就显示00000000001 ~~~00000000010,当字符的位数超过11,它也只显示11位,如果你没有加那个让它未满11位就前面加0的参数,它不会在前面加0
声明整型数据列时,我们可以为它指定个显示宽度M(1~255),如INT(5),指定显示宽度为5个字符,如果没有给它指定显示宽度,MySQL会为它指定一个默认值。显示宽度只用于显示,并不能限制取值范围和占用空间,如:INT(3)会占用4个字节的存储空间,并且允许的最大值也不会是999,而是 INT整型所允许的最大值。