数据库的字段类型
数值
- tinyint 十分小的数据 一个字节大小
- smallint 较小的数据 2个字节
- mediumint 中等大小数据 3个字节
- int 标准整数 4个字节 对应java里的int
- bigint 较大的数据 8个字节 对应java里的Long
- float 浮点数 4个字节 对应java里的float
- double 浮点数 8个字节 对应java里的double
- decimal 字符串形势的浮点数 金融计算的时候,一般是使用decimal
字符串
- char 字符串固定大小的0~255
- varchar 可变字符串 0~65535 常用的 对应java里的String
- tinytext 微型文本 28-1
- text 文本串 216-1 保存大文本
时间日期
-
date YYYY-MM-DD 日期
-
time HH:mm:ss 时间格式
-
datatime YYYY-MM-DD HH:mm:ss 最常用的时间格式
-
timestamp 时间戳 1970.1.1到现在的毫秒数!较为常用
-
year 年份表示
java.util.date
null
- 没有值,未知
- 注意,不要使用NULL进行运算,结果为NULL
数据库的字段属性
Unsigned:
- 无符号的整数
- 声明了该列不能声明为负数
zerofill:
- 0填充的
- 不足的位数,使用0来填充,int(3) , 5 …005
自增:
- 通常理解为自增:自动在上一条记录的基础上+1(默认)
- 通常用来设计唯一的主键 ~ index ,必须是整数类型
- 可以自定义设置主键的起始值和步长
非空 NULL not null
- 假设设置为not null, 如果不给他赋值就会报错
- NUll如果不填值,默认就是null
默认
- 设置默认的值
- sex,默认值为男,如果不指定该列的值,则会有默认的值!
Alibaba规范:
- 每一个表,都必须存在以下五个字段
- id 主键
- version 版本 乐观锁
- is_delete 伪删除
- gmt_create 创建时间
- gmt_update 修改时间