1、数值类型:
整型:整型有正负,但加上UNSIGNED关键字后定义出无符号类型,则只有正数,eg:tinyint unsigned的取值范围为(0~255);
tinyint | 1字节,范围(-128~127) |
smallint | 2字节,范围(-32768~32767) |
mediumint | 3字节,范围(-8388608~8388607) |
int | 4字节,范围(-2147483648~2147483647) |
bigint | 5字节,范围(+-9.22*10的18次方) |
浮点型:
float(m,d) | 4字节,单精度浮点型,m为总位数,d为小数位数 |
double(m,d) | 8字节,双精度浮点型,m为总位数,d为小数位数 |
decimal(m,d) | 存储为字符串的浮点数 |
2、日期与时间类型
date | 3字节,日期,格式:2017-03-24 |
time | 3字节,时间,格式:17:53:35 |
datetime | 8字节,日期时间,格式:2017-03-24 17:53:35 |
timestamp | 4字节,时间戳,自动存储记录的修改时间,格式同datetime |
year | 1字节,年份 |
3、字符串类型
char(n) | 固定长度,最多255个字符,实际占用空间n |
varchar(n) | 可变长度,最多65535个字符,实际占用空间m(实际存储长度)+1 |
tinytext | 可变长度,最多255个字符 |
text | 可变长度,最多65535个字符 |
mediumtext | 可变长度,最多存储2的24次方-1个字符 |
longtext | 可变长度,最多存储2的32次方-1个字符 |
4、其他类型
enum(member1,member2,member3....) | 枚举,最多包含65535个成员 |
set(member1,member2....member64) | set类型,最多包含64个成员 |
列类型属性
1、AUTO_INCREMENT:作用于主键,自增
2、binary:只用char和varchar值,当为列指定了该属性,将以区分大小的方式排序
3、default:无法作用与BLOB和TEXT值,为列定义该属性后,在没有值的情况下为该列插入一个默认值
4、index:为该列创建一个普通索引
6、not null:防止向该列插入null值,比较重要的列建议都设置此属性
7、null:当该列指定为null时,该列可以为空
8、primary key:设置该列为主键
9、unique:确保该列所有值都不相同,除了null可以重复,一边用在eamil等列
10、zerofill:可用于任何数值类型的列,作用是用0填充字段剩余的空间