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

相关推荐
兆子龙10 小时前
ahooks useRequest 深度解析:一个 Hook 搞定所有请求
java·javascript
兆子龙11 小时前
React Suspense 从入门到实战:让异步加载更优雅
java·javascript
IvorySQL12 小时前
PostgreSQL 技术日报 (3月9日)|EXPLAIN ANALYZE 计时优化与复制语法讨论
数据库·postgresql·开源
咕白m62513 小时前
Java 实现 Excel 转 HTML:完整示例
java
RealPluto13 小时前
Spring AOP 失效排查
java·spring
码路飞14 小时前
热榜全是 OpenClaw,但我用 50 行 Python 就造了个桌面 AI Agent 🤖
java·javascript
Nyarlathotep011314 小时前
LinkedList源码分析
java·后端
用户83071968408214 小时前
Java 告别繁琐数据统计代码!MySQL 8 窗口函数真香
java·sql·mysql
xlp666hub15 小时前
Leetcode 第三题:用C++解决最长连续序列
c++·leetcode