整数类型
TiDB 支持 MySQL 所有的整数类型,包括 INTEGER
/INT
、TINYINT
、SMALLINT
、MEDIUMINT
以及 BIGINT
,完整信息参考这篇文档。
字段说明:
语法元素 | 说明 |
---|---|
M | 类型显示宽度,可选 |
UNSIGNED | 无符号数,如果不加这个标识,则为有符号数 |
ZEROFILL | 补零标识,如果有这个标识,TiDB 会自动给类型增加 UNSIGNED 标识,但是没有做补零的操作 |
类型定义
BIT
类型
比特值类型。M 表示比特位的长度,取值范围从1到64,其默认值是1。
{{< copyable “sql” >}}
BIT[(M)]
BOOLEAN
类型
布尔类型,别名为 BOOL
,和 TINYINT(1)
等价。零值被认为是 False
,非零值认为是 True
。在 TiDB 内部,True
存储为 1
,False
存储为 0
。
{{< copyable “sql” >}}
BOOLEAN
TINYINT
类型
TINYINT
类型。有符号数的范围是 [-128, 127]
。无符号数的范围是 [0, 255]
。
{{< copyable “sql” >}}
TINYINT[(M)] [UNSIGNED] [ZEROFILL]
SMALLINT
类型
SMALLINT
类型。有符号数的范围是 [-32768, 32767]
。无符号数的范围是 [0, 65535]
。
{{< copyable “sql” >}}
SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
MEDIUMINT
类型
MEDIUMINT
类型。有符号数的范围是 [-8388608, 8388607]
。无符号数的范围是 [0, 16777215]
。
{{< copyable “sql” >}}
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
INTEGER
类型
INTEGER
类型,别名 INT
。有符号数的范围是 [-2147483648, 2147483647]
。无符号数的范围是 [0, 4294967295]
。
{{< copyable “sql” >}}
INT[(M)] [UNSIGNED] [ZEROFILL]
或者:
{{< copyable “sql” >}}
INTEGER[(M)] [UNSIGNED] [ZEROFILL]
BIGINT
类型
BIGINT
类型。有符号数的范围是 [-9223372036854775808, 9223372036854775807]
。无符号数的范围是 [0, 18446744073709551615]
。
{{< copyable “sql” >}}
BIGINT[(M)] [UNSIGNED] [ZEROFILL]
>
存储空间以及取值范围
每种类型对存储空间的需求以及最大/最小值如下表所示:
类型 | 存储空间 | 最小值(有符号/无符号) | 最大值(有符号/无符号) |
---|---|---|---|
TINYINT |
1 | -128 / 0 | 127 / 255 |
SMALLINT |
2 | -32768 / 0 | 32767 / 65535 |
MEDIUMINT |
3 | -8388608 / 0 | 8388607 / 16777215 |
INT |
4 | -2147483648 / 0 | 2147483647 / 4294967295 |
BIGINT |
8 | -9223372036854775808 / 0 | 9223372036854775807 / 18446744073709551615 |