MySQL:常用数据类型

专栏说明:本专栏用于MySQL学习,如对你学习有所帮助,可以点赞收藏关注,感谢三连。


  • 博客主页:Duck Bro 博客主页
  • 系列专栏:MySQL数据库
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

MySQL:常用数据类型

目录

  • MySQL:常用数据类型
    • [1. 数值类型](#1. 数值类型)
      • [1.1 整型](#1.1 整型)
      • [1.2 浮点型](#1.2 浮点型)
      • [1.3 扩展资料](#1.3 扩展资料)
    • [2. 字符串类型](#2. 字符串类型)
    • [3. 日期类型](#3. 日期类型)

1. 数值类型

1.1 整型

数据类型 大小 说明 对应Java类型
BIT[ (M) ] M指定位数,默认为1 二进制数,M范围从1到64,存储数值范围从0到2^M-1 常用Boolean对应BIT,此时默认是1位,即只能存0和1
TINYINT 1字节 Byte
SMALLINT 2字节 Short
INT 4字节 Integer
BIGINT 8字节 Long

1.2 浮点型

数据类型 大小 说明 对应Java类型
FLOAT(M, D) 4字节 单精度,M指定长度,D指定小数位数。会发生精度丢失 Float
DOUBLE(M,D) 8字节 Double
DECIMAL(M,D) M/D最大值+2 双精度,M指定长度,D表示小数点位数。精确数值 BigDecimal
NUMERIC(M,D) M/D最大值+2 和DECIMAL一样 BigDecimal

1.3 扩展资料

数值类型可以指定为无符号(unsigned),表示不取负数。

sql 复制代码
  1字节(bytes)= 8bit。

对于整型类型的范围:

  1. 有符号范围:-2(类型字节数*8-1)到2(类型字节数*8-1)-1,如int是4字节,就 是-231到231-1
  2. 无符号范围:0到2(类型字节数*8)-1,如int就是232-1

注意:尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。


2. 字符串类型

数据类型 大小 说明 对应Java类型
VARCHAR (SIZE) 0-65,535字节 可变长度字符串 String
TEXT 0-65,535字节 长文本数据 String
MEDIUMTEXT 0-16 777 215字节 中等长度文本数据 String
BLOB 0-65,535字节 二进制形式的长文本数据 byte\[\]

3. 日期类型

数据类型 大小 说明 对应Java类型
DATETIME 8字节 范围从1000到9999年,不会进行时区的检索及转换。 java.util.Date、java.sql.Timestamp
TIMESTAMP 4字节 范围从1970到2038年,自动检索当前时区并进行转换。 java.util.Date、java.sql.Timestamp

相关推荐
古法安卓2 小时前
Android-日志系统源码解析
android·java·android studio
程与留3 小时前
14_Qt 样式表(QSS)入门(语法、选择器、美化实战)
c++·qt
小夏coding4 小时前
从"一把梭"到"精妙拆解" —— 滑动窗口计时框架的设计演进
java·后端
这个DBA有点耶5 小时前
从MySQL 5.7到8.0:JSON查询性能差在哪?虚拟列索引vs多值索引怎么选
数据库·mysql·架构
胡写代码5 小时前
数据库审计字段,别再每张表各写一套了——我统一成这 6 个字段
数据库
MacroZheng5 小时前
同事问我:"Claude Code经常失忆,不怕它把项目搞炸?",我:"怕,三个Markdown文件给它装个永不丢失的外置大脑!"
java·人工智能·后端
十年Java程序媛6 小时前
深度实战:JDK21 虚拟线程 + HikariCP 生产正确配比、坑点、监控全套
java·spring boot
xiaoqiMikko6 小时前
有人在搜一个不存在的 Tomcat 版本
java·tomcat
SelectDB9 小时前
为什么 JSON 正在成为分析数据库新的竞争点?
数据库·json·agent
ClouGence9 小时前
开源数据库管理工具 CloudDM 4.2.0 发布,新增 GoldenDB、KingbaseES 等数据源
数据库·dba·devops