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列类型

相关推荐
程序边界4 分钟前
金仓数据库MongoDB兼容深度体验:从协议到性能的硬核拆解
数据库·mongodb
Miqiuha14 分钟前
软删除的好处
数据库
愚公搬代码15 分钟前
【愚公系列】《扣子开发 AI Agent 智能体应用》020-扣子数据库实战(创建/使用扣子数据库)
数据库·人工智能
冰冰菜的扣jio16 分钟前
InnoDB对于MVCC的实现
java·数据库·sql
老华带你飞36 分钟前
婚纱摄影网站|基于java + vue婚纱摄影网站系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
Gofarlic_OMS39 分钟前
从Adobe到SolidWorks:研发设计软件资产管理的现状分析
数据库·安全·adobe·oracle·金融·区块链
AI题库42 分钟前
PostgreSQL 18 从新手到大师:实战指南 - 1.4 PostgreSQL本地安装
数据库·postgresql
正在走向自律1 小时前
【金仓数据库产品体验官】Oracle迁移实战:深度剖析金仓V9R2C13性能优化三大核心场景,代码与数据说话!
数据库·oracle·性能优化·数据库平替用金仓·电科金仓·金仓产品体验官
DemonAvenger1 小时前
Redis哨兵模式详解:自动故障转移与高可用保障
数据库·redis·性能优化
ERP面壁者1 小时前
Docker小白搭建xxl-job,mysql的过程日志
mysql·docker·容器