1、 时间和日期
l Date:存储日期信息,标准形式YYYY-MM-DD,但是形如20120808以及2012*08*08或者2012!08!08。也就是说不论中间用何种分隔,存储到数据库之后都是2012-08-00
l Datetime:存储日期和时间组合,标准格式YYYY-MM-DD HH:MM:SS。Datetime取值范围在1000-01-01 00:00:00~9999-12-31 23:59:59
l Time:存储时间信息,-838:59:59~838:59:59范围
l Timstamp:和datetime的区别在于插入和更新会自动回去当前时间
l Year:存储年份信息,有两位和4位之分
2、 数字数值类型
Bool是tinyint的别名,用于赋值0或者1
Bigint:数据类型提供了mysql最大的整数范围,取值范围分为有符号:-9223372036854775808~9223372036854775807,无符号是0~18446744073709551615
Int:提供了第二大的整数范围
Mediumint:提供了第三大整数
SMAllint:提供了第四大整数范围
Tinyint:提供了最小的整数范围,值在-128-127(分清楚范围就不担心数据够不够存储)
Decimal,double,float:存储浮点数
3、 字符串类型
Char:提供了固定长度的字符串类型,最大255字符
Varchar:可变长度的字符串类型,最大255个字符(尽量使用char而不是varchar)
Longblob:提供了最大的二进制字符串存储,最大4294967295个字符
Longtext:提供了最大的非二进制字符串存储,范围4294967295个字符
Mediumblob:提供了第二大二进制字符串存储
Mediumtext:提供了第二大非二进制字符串存储
Blob:提供第三大二进制字符串存储
Text:提供第三大非二进制字符串存存储
Tinyblob:提供最小的二进制字符串存储最多255个字符
Tinytext:提供最小的非二进制字符串存储最多255个字符
Enum:枚举类型,最多可以有65535组不同的数据
Set:枚举类型,最多可以设置有64个成员
数据类型属性
Auto_increment:自增,每次插入该列的值会是上次插入值+1
Default:默认值,当没存入数据时会自动存入默认值
Index:索引
Not null:这样该列就不允许插入null值
Null:同上面相反
Primary key:主键,该列不可空,不可重复
Unique:该列不允许存储相同的值
Zerofill:例如int长度为5那么存入1的时候会自动添加00001,就是前面用0补全