当前位置: 首页 > news >正文

MySQL数据类型详解

MySQL 支持丰富的数据类型,主要分为三大类:数值类型日期和时间类型字符串类型。此外,还有空间类型和 JSON 类型等。

以下是详细的分类和说明:

一、数值类型

1. 整数类型

类型字节有符号范围无符号范围
TINYINT1-128 ~ 1270 ~ 255
SMALLINT2-32768 ~ 327670 ~ 65535
MEDIUMINT3-8388608 ~ 83886070 ~ 16777215
INT4-2147483648 ~ 21474836470 ~ 4294967295
BIGINT8-2^63 ~ 2^63-10 ~ 2^64-1

2. 浮点数类型

类型字节说明
FLOAT4单精度浮点数
DOUBLE8双精度浮点数

3. 定点数类型

类型说明
DECIMAL(M,D)精确小数,M为总位数,D为小数位数

二、日期和时间类型

类型格式范围说明
DATEYYYY-MM-DD1000-01-01 ~ 9999-12-31日期值
TIMEHH:MM:SS-838:59:59 ~ 838:59:59时间值
DATETIMEYYYY-MM-DD HH:MM:SS1000-01-01 00:00:00 ~ 9999-12-31 23:59:59日期时间
TIMESTAMPYYYY-MM-DD HH:MM:SS1970-01-01 00:00:01 ~ 2038-01-19 03:14:07时间戳
YEARYYYY1901 ~ 2155年份值

三、字符串类型

1. 文本字符串

类型最大长度说明
CHAR0-255字符定长字符串
VARCHAR0-65535字符变长字符串
TINYTEXT255字符短文本字符串
TEXT65535字符长文本数据
MEDIUMTEXT16777215字符中等长度文本
LONGTEXT4294967295字符极大文本数据

2. 二进制字符串

类型最大长度说明
BINARY0-255字节定长二进制字符串
VARBINARY0-65535字节变长二进制字符串
TINYBLOB255字节短二进制数据
BLOB65535字节二进制长文本数据
MEDIUMBLOB16777215字节中等长度二进制数据
LONGBLOB4294967295字节极大二进制数据

四、其他类型

1. 枚举类型

sql

ENUM('value1', 'value2', ...)  # 枚举值列表

2. 集合类型

sql

SET('value1', 'value2', ...)   # 字符串对象集合

3. JSON 类型

sql

JSON  # 存储 JSON 格式数据(MySQL 5.7.8+)

4. 空间数据类型

  • GEOMETRY

  • POINT

  • LINESTRING

  • POLYGON

五、数据类型选择建议

  1. 整数类型:根据数据范围选择合适的大小

  2. 小数类型:需要精确计算时用 DECIMAL,科学计算用 FLOAT/DOUBLE

  3. 字符串类型:定长用 CHAR,变长用 VARCHAR

  4. 日期时间:DATETIME 范围更大,TIMESTAMP 带时区转换

  5. 大文本:TEXT 用于文本,BLOB 用于二进制数据

示例用法

sql

CREATE TABLE example (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL,age TINYINT UNSIGNED,salary DECIMAL(10,2),birth_date DATE,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,status ENUM('active', 'inactive'),preferences JSON
);

选择合适的数据类型对数据库性能和存储效率至关重要

http://www.dtcms.com/a/585305.html

相关文章:

  • Rust 练习册 :Rail Fence Cipher与栅栏密码
  • 织梦dedecms绿色led照明公司企业网站模板 下载网站如何免费推广
  • 【Svelte】动态加载组件并传递参数的正确姿势,及两种方式比较
  • 【ZeroRange WebRTC】Amazon Kinesis Video Streams C WebRTC SDK 详解与实践指南
  • openEuler边缘计算实践:构建高效边云协同架构
  • 自建国外购物网站公司网站开发外包公司
  • Linux内存管理揭秘:页表递归清理与TLB优化机制
  • 从“医疗大模型”向“医疗智能体”架构与路径分析(白皮书草案-下)
  • Webpack性能优化终极指南:4步实现闪电打包
  • 零基础学JAVA--Day26(枚举类)
  • Kafka概述
  • CTFHub Web进阶-PHP:Bypass_disable_function通关8之PHP FFI
  • 重庆本地网站有哪些world做网站怎么做连接
  • 【028】Dubbo3从0到1系列之序列化机制
  • phpcms模板资源网站快速优化排名
  • 0 基础学前端:100 天拿 offer 实战课(第 18 天)—— JS 事件进阶:冒泡、委托与自定义事件,搞定复杂交互
  • 【C++】STL小总结
  • go基础语法练习
  • 360任意看地图网站网站开发设计需要什么证书
  • 大数据Spark(七十二):Transformation转换算子repartition和coalesce使用案例
  • Android 16 Kotlin协程 第二部分
  • 网站建设公司兴田德润电话新县城乡规划建设局网站
  • Claude Code使用指南
  • 如何进行MSSQL提权?默认库,xp_cmdshell提权
  • 第三章 布局
  • 「数据获取」《中国口岸年鉴》(2001-2024)(2002未出版)
  • Visual Studio笔记
  • 【开题答辩全过程】以 二手手机交易平台的设计与实现为例,包含答辩的问题和答案
  • “AI+XR”赋能智慧研创中心,预见职业教育“新双高”的未来
  • 保障房建设网站首页河北信息门户网站定制