MySQL中bigint(20)中的20代表含义

这个20可以理解为数据宽度,不是取值范围。

整数类型

对于整数类型(int,bigint),取值范围是固定的,例如:int的取值范围是:-2147483648 - 2147483647,就只能存这个范围的数,无论写int(3),还是写int(20),都不数据的取值范围。

那写这个有什么用呢?

其实是在底层存储的时候不一样,写了int(20),如果只存了一个3,其实是在3前面补空格的,补充到20位的宽度。

补空格是默认的方式,也可以zerofill关键字可以填充0,例如int(20)存3,填充0的话存储的就是00000 00000 00000 00003

所有整数类型和这个一致

字符串类型

对于字符串类型,这个范围就用的上了,标识多少就只能存多少字符,多存了就会丢失。

浮点数类型

对于浮点数类型,和整数一样,这个范围基本没有影响。

常用数据类型的取值范围

数据类型 取值范围 占用字节
tinyint -128 - 127 1
int -2147483648 - 2147483647 4
bigint -9223372036854775808 - 9223372036854775807 8

更多MySQL列类型可以参考我的这篇文章:
详解MySQL列类型

相关推荐
e***0965 小时前
Sql Server数据库远程连接访问配置
数据库
2501_924064116 小时前
2025数据库性能测试工具:Utest、JMeter、HammerDB 等主流方案推荐
数据库·测试工具·jmeter·数据库性能测试·数据库负载测试·数据库压测工具·jmeter 压力测试
movie__movie6 小时前
秒杀库存扣减可以用redis原子自增么
数据库·redis·缓存
找不到、了7 小时前
MySQL 索引下推(ICP)的实战,彻底提升查询性能
数据库·mysql
b***67647 小时前
Springboot3 Mybatis-plus 3.5.9
数据库·oracle·mybatis
kitty_hi7 小时前
mysql主从配置升级,从mysql5.7升级到mysql8.4
linux·数据库·mysql·adb
q***13349 小时前
Linux系统离线部署MySQL详细教程(带每步骤图文教程)
linux·mysql·adb
王宪笙9 小时前
Qt之数据库使用示例
数据库·qt
q***428210 小时前
Redis 设置密码(配置文件、docker容器、命令行3种场景)
数据库·redis·docker
运维行者_10 小时前
网站出现 525 错误(SSL 握手失败)修复指南
服务器·网络·数据库·redis·网络协议·bootstrap·ssl