当前位置: 代码网 > it编程>数据库>Mysql > MySQL中的整型类型示例详解

MySQL中的整型类型示例详解

2025年10月09日 Mysql 我要评论
mysql 中支持的整型类型mysql 中支持的整型类型包括 tinyint、smallint、mediumint、int/integer、bigint,分别代表小整数值、中整数值、大整数值、极大整数

mysql 中支持的整型类型

mysql 中支持的整型类型包括 tinyintsmallintmediumintint/integerbigint,分别代表小整数值、中整数值、大整数值、极大整数值。

数据类型字节大小有符号范围无符号范围
tinyint1-128 到 1270 到 255
smallint2-32768 到 327670 到 65535
mediumint3-8388608 到 83886070 到 16777215
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 版本中不再显示宽度):

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

unsigned

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

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

create table test_table(
  x tinyint unsigned,
  y smallint unsigned,
  z mediumint unsigned,
  m int unsigned,
  n bigint unsigned
);

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

需要注意的是,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整型类型内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com