数值类型

    TiDB 支持 MySQL 所有的数值类型,按照精度可以分为:

    TiDB 支持 MySQL 所有的整数类型,包括 INTEGER/INTTINYINTSMALLINTMEDIUMINT 以及 BIGINT,完整信息参考文档。

    字段说明:

    BIT 类型

    比特值类型。M 表示比特位的长度,取值范围从1到64,其默认值是1。

    BOOLEAN 类型

    布尔类型,别名为 BOOL,和 TINYINT(1) 等价。零值被认为是 False,非零值认为是 True。在 TiDB 内部,True 存储为 1False 存储为 0

      TINYINT 类型

      TINYINT 类型。有符号数的范围是 [-128, 127]。无符号数的范围是 [0, 255]

      1. TINYINT[(M)] [UNSIGNED] [ZEROFILL]

      类型

      SMALLINT 类型。有符号数的范围是 [-32768, 32767]。无符号数的范围是 [0, 65535]

      MEDIUMINT 类型

      1. MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]

      INTEGER 类型

      INTEGER 类型,别名 INT。有符号数的范围是 [-2147483648, 2147483647]。无符号数的范围是 [0, 4294967295]

      1. INT[(M)] [UNSIGNED] [ZEROFILL]

      或者:

      BIGINT 类型。有符号数的范围是 [-9223372036854775808, 9223372036854775807]。无符号数的范围是 [0, 18446744073709551615]

      1. BIGINT[(M)] [UNSIGNED] [ZEROFILL]

      存储空间以及取值范围

      每种类型对存储空间的需求以及最大/最小值如下表所示:

      TiDB 支持 MySQL 所有的浮点类型,包括 FLOATDOUBLE,完整信息参考文档。

      字段说明:

      FLOAT 类型

      单精度浮点数。允许的值范围为 -2^128 ~ +2^128,也即 -3.402823466E+38 到 -1.175494351E-38、0 和 1.175494351E-38 到 3.402823466E+38。这些是基于 IEEE 标准的理论限制。实际的范围根据硬件或操作系统的不同可能稍微小些。

      1. FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
      2. FLOAT(p) [UNSIGNED] [ZEROFILL]

      DOUBLE 类型

      双精度浮点数,别名为 DOUBLE PRECISION。允许的值范围为:-2^1024 ~ +2^1024,也即是 -1.7976931348623157E+308 到 -2.2250738585072014E-308、0 和 2.2250738585072014E-308 到 1.7976931348623157E+308。这些是基于 IEEE 标准的理论限制。实际的范围根据硬件或操作系统的不同可能稍微小些。

      警告:

      与在 MySQL 中一样,DOUBLE 数据类型存储近似值。对于货币之类的精确值,建议使用 DECIMAL 类型。

      存储空间

      每种类型对存储空间的需求如下表所示:

      TiDB 支持 MySQL 所有的定点类型,包括 DECIMALNUMERIC,完整信息参考文档。

      字段说明:

      DECIMAL 类型

      1. DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]