Mysql数据类型
列类型
数值
-
tinyint
单字节整数。
-
smallint
双字节整数。
-
mediumint
三字节整数。
-
int(常用)
四字节整数,标准整数。
-
bigint
八字节整数,大整数。
-
float
单精度浮点数。
-
double
双精度浮点数。
-
decimal(常用)
字符串浮点数,用作金融计算。
字符串
-
char
固定字符串,0-255。
-
varchar(常用)
可变字符串,0-65535。
-
tinytext
微型文本,2^8-1。
-
text(常用)
文本串,2^16-1。
时间
-
date
日期格式,YYYY-MM-DD。
-
time
时间格式,HH:mm:ss。
-
datetime(常用)
日期+时间格式,YYYY-MM-DD HH:mm:ss。
-
timestamp(常用)
时间戳,1970-1-1到今天经过的毫秒数,绝对时间。
-
year
年份,YYYY。
NULL
-
没有值或者未知的值。
-
使用NULL进行任何运算都只会得到NULL。
字段属性
Unsigned:
-
无符号的正整数。
-
有此声明的,数据不能为负数。
zerofill:
-
使用0填充长度不足的位数。
自增:
-
在上一条记录的基础上+1(默认)
-
通常用来设计唯一的主键,index,必须是整数类型。
-
可以自定义主键自增的起始值和步长。
非空(NULL,not NULL):
-
假设设置了not null,如果不给他赋值,就会报错。
-
如果不填写值,默认就是null。
默认:
-
设置默认的数据值。
-
如果该列的值没有被指定,则为默认值。
拓展:阿里巴巴规范
每一个表都必须存在以下五个字段:
-
id
主键
-
'version'
乐观锁(数据只有在真正被提交的时候才会被修改)
-
gmt_create
创建时间
-
gmt_update
修改时间
-
is_delete
伪删除(通过该列的值来判断数据是否删除,而不是真正删除该数据,让管理员能够查看被删除的数据)