数据库字段的基本类型
数据库的列类型
- 数值
- tinyint : 十分小的数据,占1个字节
- smallint : 较小的数据,占2个字节
3.mediumint : 中等大小的数据,占3个字节
- int : 标准的整数,占4个字节
- bigint : 较大的数据,占8个字节
- float : 单精度浮点数,占4个字节
- double : 双精度浮点数,占8个字节
- decimal : 字符串形式的浮点数(常用于金融计算)
- 字符串
- char : 固定大小的字符串(长度0~255)
- varchar : 可变字符串(长度0~65535)
- tinytext : 微型文本(长度2^8 -1)
- text : 文本串(长度2^16 -1) 保存大文本
- bigtext :
- 时间和日期
- date : 日期 yyyy-MM-dd
- time : 时间 HH:ii:ss
- datetime : yyyy-MM-dd HH:ii:ss
- timestamp : 时间戳 1970年1月1日到当前时间的毫秒数
- year : 年份表示
- NULL
- 没有值,未知
- 注意,不要使用NULL计算,结果为NULL
数据库的字段属性
- primary key(主键)
- 主键用来表示唯一的每一条记录
- 每一张表只能有一个主键
- 因为是唯一标识,所以主键字段不能为NULL,并且主键字段的数值不能重复
- 主键也是一种索引,可以提高查询的效率
- unique key(唯一键)
- 唯一键和主键类似,不同的是主键只能有一个,唯一键可以有多个,而且唯一键的字段数据允许为空。
- 唯一键可以约束字段,使得字段的数据不能重复
- 如果唯一键同时也有NOT NULL,并且表中没有主键的话,在desc查看表结构中会显示成主键
- 如果唯一键也不允许为空,那么功能与主键相同
- 唯一键的定义方法可以参考主键的
- auto_increment(自增)
- 自动在上一条记录的基础上加特定的步长
- 通常用来设计唯一的主键,必须是整数类型。
- 可以自定义设计主键自增的起始值和步长。
- 设置自增长的步长
set auto_increment = 值
- NULL、NOT NULL (非空)
- 设置为NULL,如果不赋值,默认为NULL
- 设置为NOT NULL,如果不赋值,就会报错
- default (默认)
- 当我们不给一个字段赋值的时候,就会使用默认值作为数据
- comment (字段描述)
- 用来描述当前字段,确定该字段的意义
- Unsigned
- 无符号的整数
- 声明了该列不能声明为负数
- zerofill
- 使用0填充
- 当该列的值达不到定义的长度时,会使用0填充直到长度达标
规范
- id : 主键
- version : 乐观锁
- is_delete : 逻辑删除
- gmt_create : 创建时间
- gmt_update : 修改时间