一:整型
1.tinyInt 非常小的整数 存储1个字节
2.smallInt 较小整数 存储2个字节
3.mediumInt 中等大小整数 存储3个字节
4.int integer 标准整数 存储4个字节
5.bigInt 较大整数 存储8个字节
整数列可选属性有三个:
1.M:宽度,在0填充的时候有意义,否则不需要指定。
2.unSigned:无符号类型非负 用来增加数据的长度。
3.zerofill:0填充,如果某列是zerofill,那么默认就是无符号,如果指定了zerofill只是表示不够M位时,用0在左边填充,如果超过M位,只要不超过数据存储范围即可。
二:浮点型
在MySQL中单精度值使用4个字节,双精度使用8个字节,一个字节是由8个位组成,每位可以用0或者1表示。
float:单精度浮点数,有4个字节,32位,大约7位有效数字,范围有限
double:双精度浮点数,更高精度,有8个字节,64位,15位有效数字,范围大。
三:日期和时间类型
date类型:用于存储日期 年月日
time类型:用于存储时间 时分秒
dateTime类型 用来存储日期和时间
time Stamp类型 时间戳
与dateTime不同的是它会自动在更新插入的时候记录当前的日期和时间。
四:布尔类型
1.可以使用tinyint(1)来表示布尔类型,1表示字段的宽度,即占用的存储空间大小,在布尔字段中,1表示true,0表示false
2.bool Boolean 与 tinyint 是等价的,也可以使用1表示true,0表示false。
3.布尔类型大部分用在条件语句,和循环中。
五:字符串类型
char 固定长度 默认长度为1, 速度快,费空间,存储不大。
varchar 可变长度类型 必须指定长度。
text 文本类型,村比较大的文本段。
六:枚举类型(enum)
枚举类型:用于存储预定义的一组值,他允许在创建表时指定一组可能的值,并且每个列只能存储这些与定义的值之一。
在MySQL中 enum('value1','value2','value3',.....)
value1,value2,value3表示枚举类型的可能取值,可以根据需要指定多个值,这些值用,分割,并用单引号括起来。
优点:1.限制列的取值范围,确保数据的有效性和一致性,可以提高查询效率。
2.MySQL分别将枚举类型得值存储为整数,并使用索引进行快速查询。
3.取值是按照定义的顺序,进行存储的,从1开始递增
处理枚举类型的值时,根据对应的整数值进行比较和计算。
七:集合类型
用于存储多个值的集合,集合类型允许在创建表时指定一组可能的值,并且每个列可以存储这些预定义得值的任意集合。
由于集合类型存储的是多个值,可能会导致查询和索引的性能下降,在设计数据库时,应该根据实际需求和性能考虑,合理选择是否使用集合类型。