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

相关推荐
小白勇闯网安圈3 小时前
Django 响应对象、文件上传与类视图
数据库·django·sqlite
努力的小雨4 小时前
同一份 SQL 跑多套环境:Ksql 变量怎么用才安全
数据库
科技绘图4 小时前
快鲸GEO vs 传统AI搜索优化:全链路自动化与高效内容生产在转化闭环上的对比
数据库·人工智能·自动化
ltl5 小时前
数据库作为 LLM 记忆体:语义缓存、RAG 与一致性
数据库
ltl5 小时前
WAL 与崩溃恢复:ARIES 协议怎么跑通
数据库
ltl5 小时前
TEE 数据库:EnclaveDB、Oblivious 原语与机密 SQL
数据库
麻瓜code6 小时前
【Mysql】重新学一遍 SQL 执行顺序
数据库·sql
这个DBA有点耶7 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
一只fish7 小时前
优化器架构对比:Oracle vs PostgreSQL vs MySQL
mysql·postgresql·oracle
安_8 小时前
RAG的向量数据库:为LLM提供语义搜索能力
数据库