MySQL Datatype

mysql 数据类型反应在列(字段上),不同记录在同一字段上的分量数据类型相同。mysql支持多种数据类型,大致分为三类:数值、日期/时间、字符串(字符)。选取类型的准则是在满足数据需求的情况下尽量选择范围小的数据类型。

数值类型

mysql 支持所有标准 SQL 数值数据类型,这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL 和 NUMERIC等),以及近似数值数据类型(FLOAT、REAL 和 DOUBLE PRECISION等)。BIT数据类型保存位字段值。
所有数值类型详细信息见下图。

注意

  • bit类型会以二进制形式显示数值。
  • decimal中的M和D分别代表记录数值的总位数和小数位数,一般需求非常高精度数据或有很大数时使用decimal类型

字符类型

下图展示了 mysql 字符数据类型的详细信息。

注意

  • char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数
  • char 定长,记录分量存储时自动补齐空格至指定长度个字符,即为记录分配定长空间
  • varchr 不定长,不补齐空格,分配空间按实际计算,分配大小为实际数据字节大小+1-3个字节(用于存放实际实际长度)

日期/时间类型

下图展示了 mysql 日期/时间数据类型的详细信息。

注意

  • 时间类型其实是格式化的字符串,如当插入一条date类型的记录分量时,使用这样的语句INSERT INTO date_table(dt) VALUES('2023-02-07')