[Mysql] 数据类型

常用数据类型


面向对象 和 数据库的对应关系

SQL 常用数据类型

  • **数值类型:**存储数字,整数、小数,例如年龄、价格、编号

  • 字符串类型:存储文本,姓名、地址、手机号

  • 二进制类型:存放二进制数据,图片、文件等原始字节

  • 日期类型:存储时间日期,创建时间、生日

数据值类型


数值类型

  • 重要概念
    1)M 显示宽度:整数类型后面的(M)只是显示宽度,不限制存储范围,
    搭配 zerofill 补零使用,不影响能存数字大小
    2)浮点数 FLOAT/DOUBLE :
    存在精度丢失问题,适合近似值;金钱、财务计算必须用DECIMAL
    3)BOOL:MySQL 没有真正布尔类型,底层就是 TINYINT (1),存 1/0

整数类型取值范围

  • 有符号,无符号
    1)有符号:一半存负数、一半存正数
    2)无符号:只能存非负数 ,把原本负数的空间全部用来扩大正数上限
    3)声明方式:INT UNSIGNED
  • 面试常考点
    1)INT 有符号最大值:2147483647,
    很多老项目 id 超过这个值就会溢出,所以改用 BIGINT
    2)TINYINT (1) 常用来做布尔标记(0/1),也就是前面看到的 BOOL 别名
    3)INT(M) 的 M 是显示宽度,不限制存储范围,和取值范围无关
  • 选型参考
    1)状态、性别、开关:TINYINT
    2)小数量,年份:SMALLINT
    3)普通自增 ID:INT
    4)雪花 ID、超大自增主键:BIGINT
相关推荐
FITA阿泽要努力3 小时前
第 1 周·第 3 讲|工具如何交给模型:工具定义、参数与结构化调用
服务器·数据库·python·agent
需要8263 小时前
缓存与数据库一致性:延迟双删与订阅 binlog 的取舍
数据库·缓存
眼不痛请看我3 小时前
Ubuntu_22.04_LTS虚拟机安装指南
linux·数据库·ubuntu
Omics Pro4 小时前
强生:以机理为中心!虚拟细胞世界模型
数据库·人工智能·python·深度学习·算法·机器学习·自然语言处理
java资料站4 小时前
四、Spring AIAlibaba · Tools(工具调用)
数据库·sql·spring
龙腾-虎跃4 小时前
Docker 一键启动服务合集:Redis、MySQL、Kafka、MinIO、Prometheus 等(网盘转存防失效)
redis·mysql·docker·kafka·prometheus·小龙虾·miniio
步行cgn4 小时前
Spring 事务传播行为详解
java·数据库·spring
anxiao_m4 小时前
跨地域大文件怎么传?2026主流传输软件实测对比
大数据·数据库·文件传输
Su米苏4 小时前
基于 Token 预算的上下文压缩控制器(Context Compaction Controller)
前端·数据库·人工智能