开发者

MySQL中的整型类型示例详解

开发者 https://www.devze.com 2025-10-10 09:10 出处:网络 作者: JiaHao汤
目录mysql 中支持的整型类型整型类型的可选参数MUNSIGNEDZEROFILL总结 MySQL 中支持的整型类型
目录
  • mysql 中支持的整型类型
  • 整型类型的可选参数
    • M
    • UNSIGNED
    • ZEROFILL
  • 总结 

    MySQL 中支持的整型类型

    MySQL 中支持的整型类型包括 TINYINTSMALLINTMEDIUMINTINT/INTEGERBIGINT,分别代表小整数值、中整数值、大整数值、极大整数值。

    数据类型字节大小有符号范围无符号范围
    TINYINT1-128 到 1270 到 255
    SMALLINT2-32768 到 327670 到 65535
    MEDIUMINT3-8388608 到 83886070 到 16编程客栈777215
    INT/INTEGER4-2147483648 到 21474836470 到 4294967295
    BIGINT8-9223372036854775808 到 9223,372036,8547758070 到 18446744073709551615

    整型类型的可选参数

    整型类型的可选参数有 3 个,分别是 MUNSIGNEDZEROFILL

    M

    M 表示显示宽度,M 的取值范围是 (0,255)。例如,int(5) 表示当数据宽度小于 5 位的时候在数字前面需要用字符填满宽度。M 需要配合 ZEROFILL 一起使用才有意义,否则指定显示宽度无效。

    需要注意的是,设置显示宽度不会对插入的数据有任何影响,数据还是按照它所设置的整型类型的实际宽度进行保存,即显示宽度与类型可以存储的值范围无关。从 MySQL 8.0.17 开始,整数数据类型不推荐使用显示宽度属性。

    整型数据类型可以在定义表结构时指定所需要的显示宽度,如果不指定,则系统为每一种类型指定默认的宽度值。例如:

    CREATE TABLE test_table(
      X TINYINT,
      Y SMALLINT,
      Z MEDIUMINT,
      M INT,
      N BIGINT
    );
    

    通过 DESC 命令查看表结构(MySQL 5.7 版本中显示宽度如下,MySQL 8 版本中不再显示宽度):

    MySQL中的整型类型示例详解

    TINYIrioTUdlEFvNT 有符号数和无符号数的取值范围分别为 -128~127 和 0~255,由于负号占了一个数字位,因此 TINYINT 默认的显示宽度为 4。同理,其他整数类型的默认显示宽度与其有符号数的最小值的宽度相同。

    UNSIGNED

    UNSIGNED 是无符号类型(非负),所有的整数类型都有一个可选的属性 UNSIGNED(无符号属性),无符号整数类型的最小取值为 0。所以,如果需要在 MySOL 数据库中保存非负整数值时,可以将整数类型设置为无符号类型。

    使用 UNSIGNED 将整数类型设置为无符号类型的案例:

    CREATE TABLE test_table(
      X TINYINT UjsNSIGjsNED,
      Y SMALLINT UNSIGNED,
      Z MEDIUMINT UNSIGNED,
      M INT UNSIGNED,
      N BIGINT UNSIGNED
    );
    

    通过 DESC 命令查看表结构(MySQL 5http://www.devze.com.7 版本中显示宽度,MySQL 8 版本中不再显式宽度):

    MySQL中的整型类型示例详解

    需要注意的是,TINYINTSMALLINTMEDIUMINTINT 类型的显示宽度都会缩小一位,因为不再需要表示负数。

    ZEROFILL

    ZEROFILL 即 0 填充,ZEROFILL 的作用是在某列指定了 ZEROFILL 的情况下,MySQL 会自动为当前列添加 UNSIGNED 属性,并且当该列显示宽度不够 M 位时,使用 0 在列值左边填充,如果超过 M 位,只要不超过数据存储范围即可。

    ZEROFILL 搭配 M 的使用案例:

    CREATE TABLE test_table (
        X TINYINT(5) ZEROFILL,
        Y SMALLINT(10) ZEROFILL
    );
    

    通过 DESC 命令查看表结构(MySQL 5.7 版本中显示宽度,MySQL 8 版本中不再显式宽度):

    MySQL中的整型类型示例详解

    总结 

    到此这篇关于MySQL中整型类型的文章就介绍到这了,更多相关MySQL整型类型内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号