常用的数据类型在数据库中包括以下几种:
- 整型(如int、xxxint等)
- 位类型(bit)
- 浮点型(float、double、real)
- 定点数(decimal、numeric)
- 日期时间类型(date、time、datetime、year)
- 字符串类型(char、varchar、xxxtext等)
- 二进制数据类型(xxxOB、xxxBINARY等)
- 枚举类型(enum)
- 集合类型(set)
1、整数(xxxint)
整数列的可选属性包括M(宽度)和unsigned(无符号类型)。其中,M只在指定填充时才有意义。如果指定了zerofill,那么不足M位的整数将用0填充。原来,int(M)中的M与存储空间大小无关。
2、浮点型
浮点列类型在MySQL中,单精度值使用4个字节,双精度值使用8个字节。对于FLOAT(M,D)或DOUE(M,D),M表示显示的总位数,D表示小数点后的位数。如果存储的数值超出了范围,MySQL会根据具体规则进行处理。
3、位类型(了解)
BIT数据类型用于保存位字段值。BIT(M)类型允许存储M位值,范围为1~64。BIT其实就是存入二进制的值。
4、定点型
DECIMAL在MySQL内部以字符串形式存放,比浮点数更精确。DECIMAL(M,D)与浮点型的处理规则相同。
5、日期时间类型
日期时间类型用于存储日期和时间信息。对于年类型,输入两位时,需注意其表示范围。日期和时间的输入格式灵活,但需遵循一定规则。
6、字符串型(char,varchar,text区别)
char是固定长度的类型,而varchar是可变长度的类型。char类型的值会填充空格以达到指定长度,而varchar类型则只占用所需长度加上一两个记录长度的字节。在处理速度上char要比varchar快,但在存储空间上则占优势。
7、其他数据类型简要说明
二进制值类型如xxxOB和xxxBINARY用于存储二进制数据。ENUM和SET类型分别用于存储预定义的值集合和多个预定义值。
8、特殊Null类型
Null类型的值在数据库中表示空或未知的值。处理Null值时需注意其比较规则和影响查询速度的因素。