数据库字段的基本类型

202 阅读2分钟

数据库的列类型

  • 数值
    1. tinyint : 十分小的数据,占1个字节
    2. smallint : 较小的数据,占2个字节 3.mediumint : 中等大小的数据,占3个字节
    3. int : 标准的整数,占4个字节
    4. bigint : 较大的数据,占8个字节
    5. float : 单精度浮点数,占4个字节
    6. double : 双精度浮点数,占8个字节
    7. decimal : 字符串形式的浮点数(常用于金融计算)
  • 字符串
    1. char : 固定大小的字符串(长度0~255)
    2. varchar : 可变字符串(长度0~65535)
    3. tinytext : 微型文本(长度2^8 -1)
    4. text : 文本串(长度2^16 -1) 保存大文本
    5. bigtext :
  • 时间和日期
    1. date : 日期 yyyy-MM-dd
    2. time : 时间 HH:ii:ss
    3. datetime : yyyy-MM-dd HH:ii:ss
    4. timestamp : 时间戳 1970年1月1日到当前时间的毫秒数
    5. year : 年份表示
  • NULL
    1. 没有值,未知
    2. 注意,不要使用NULL计算,结果为NULL

数据库的字段属性

  • primary key(主键)
    1. 主键用来表示唯一的每一条记录
    2. 每一张表只能有一个主键
    3. 因为是唯一标识,所以主键字段不能为NULL,并且主键字段的数值不能重复
    4. 主键也是一种索引,可以提高查询的效率
  • unique key(唯一键)
    1. 唯一键和主键类似,不同的是主键只能有一个,唯一键可以有多个,而且唯一键的字段数据允许为空。
    2. 唯一键可以约束字段,使得字段的数据不能重复
    3. 如果唯一键同时也有NOT NULL,并且表中没有主键的话,在desc查看表结构中会显示成主键
    4. 如果唯一键也不允许为空,那么功能与主键相同
    5. 唯一键的定义方法可以参考主键的
  • auto_increment(自增)
    1. 自动在上一条记录的基础上加特定的步长
    2. 通常用来设计唯一的主键,必须是整数类型。
    3. 可以自定义设计主键自增的起始值和步长。
    4. 设置自增长的步长
    set auto_increment = 值;
    
  • NULL、NOT NULL (非空)
    1. 设置为NULL,如果不赋值,默认为NULL
    2. 设置为NOT NULL,如果不赋值,就会报错
  • default (默认)
    1. 当我们不给一个字段赋值的时候,就会使用默认值作为数据
  • comment (字段描述)
    1. 用来描述当前字段,确定该字段的意义
  • Unsigned
    1. 无符号的整数
    2. 声明了该列不能声明为负数
  • zerofill
    1. 使用0填充
    2. 当该列的值达不到定义的长度时,会使用0填充直到长度达标

规范

  • 规定每张表中都必须存在一下5个字段
  1. id : 主键
  2. version : 乐观锁
  3. is_delete : 逻辑删除
  4. gmt_create : 创建时间
  5. gmt_update : 修改时间