Administrator
Published on 2021-08-20 / 123 Visits
0
0

MySQL核心之数据类型

数据类型

整型

类型字节数
tinyint1
smallint2
mediumint3
int/integer4
bigint8

特点

  • 如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加 unsigned 关键字
  • 如果插入的数值超出了整型的范围,会报 out of range 异常,并且插入临界值
  • 如果不设置长度,会有默认的长度,长度代表了显示的最大宽度,如果不够会用 0 在左边填充,但必须搭配 zerofill 使用

小数

浮点型

  • float(M,D)
  • double(M,D)

定点型

  • dec(M,D)
  • decimal(M,D)

特点

  • M:整数部位 + 小数部位
  • D:小数部位
  • 如果超过范围,则插入临界值
  • M 和 D都可以省略
  • 如果是 decimal,则 M 默认为 10,D 默认为 0
  • 如果是 float 和 double,则会根据插入的数值的精度来决定精度
  • 定点型的精确度较高,如果要求插入数值的精度较高如货币运算等则考虑使用

字符型

类型M特点空间利用率效率
char(M)最大字符数,可以省略,默认为1固定长度
varchar(M)最大字符数,不可省略可变长度

日期型

类型字节范围时区影响
datetime81000—9999
timestamp41970-2038

Comment