[Mysql] 数据类型
常用数据类型面向对象 和 数据库的对应关系SQL 常用数据类型数值类型存储数字整数、小数例如年龄、价格、编号字符串类型存储文本姓名、地址、手机号二进制类型存放二进制数据图片、文件等原始字节日期类型存储时间日期创建时间、生日数据值类型数值类型重要概念1M 显示宽度整数类型后面的(M)只是显示宽度不限制存储范围搭配 zerofill 补零使用不影响能存数字大小2浮点数 FLOAT/DOUBLE存在精度丢失问题适合近似值金钱、财务计算必须用DECIMAL3BOOLMySQL 没有真正布尔类型底层就是 TINYINT (1)存 1/0整数类型取值范围有符号无符号1有符号一半存负数、一半存正数2无符号只能存非负数把原本负数的空间全部用来扩大正数上限3声明方式INT UNSIGNED面试常考点1INT 有符号最大值2147483647很多老项目 id 超过这个值就会溢出所以改用 BIGINT2TINYINT (1) 常用来做布尔标记0/1也就是前面看到的 BOOL 别名3INT(M)的 M 是显示宽度不限制存储范围和取值范围无关选型参考1状态、性别、开关TINYINT2小数量年份SMALLINT3普通自增 IDINT4雪花 ID、超大自增主键BIGINT字符串类型类型列表字符字符串存文本二进制类型存原始二进制如图片、文件区分TEXT 系列存文本字符有字符集BLOB 系列存原始二进制字节没有字符集枚举 ENUM / 集合 SET1ENUM (v1,v2,...) 枚举a只能选其中一个值还可以为空字符串、NULLb最多 65535 个选项c底层存储是整数节省空间2SET (v1,v2,...) 集合a可以多选0 个或多个b最多 64 个选项c底层存储也是整数易混考点1CHAR固定长适合长度统一的数据手机号、身份证VARCHAR 变长适合长短不一的内容简介2长度单位CHAR/VARCHAR 的 M 是字符BINARY/VARBINARY M 是字节3TEXT/BLOB 不能设置默认值并且不能有索引前缀面试常考字符串排序规则字符型列CHAR / VARCHAR / TEXT / ENUM / SET1以字符为单位处理2可以单独给字段指定字符集 排序规则 (collation)3示例字符集 utf8mb4排序规则 utf8_0900_ai_ci后缀含义ai accent insensitive不区分重音ci case insensitive不区分大小写cs case sensitive区分大小写二进制类型列BINARY / VARBINARY / BLOB1以字节为单位处理2常用 _bin 结尾的排序规则例如 utf8mb4_bin3_bin二进制比较直接按照字符的数字编码值比较大小a区分大小写A 和 a 编码不同b严格逐字节对比核心对比例子1utf8mb4_0900_ai_ciA 和 a 认为相等2utf8mb4_binA0x41和a0x61编码不一样判定不相等CHAR 和 VARCHAR 区别CHAR固定长度字符串1长度范围M单位是字符取值0~255不写 M 默认长度 12存储机制存入数据时在右侧补空格填满定义的固定长度 M读取数据时自动删除尾部空格3示例CHAR(4)存入ab ab 加一个空格存储时会补空格占满 4 字符查询取出时末尾空格会被删掉拿到ab4占用空间固定不管内容长短始终占用 M 个字符对应的字节例 latin1 字符集CHAR(4)存ab固定占用 4 字节VARCHAR可变长度字符串1长度范围M是最大字符长度所有列总长上限 65535 字节2存储机制不会补齐空格只存真实数据x 额外使用1~2 字节记录字符串真实长度x 真实字节 ≤2551 字节记录长度y 真实字节 2552 字节记录长度3空格特性读取数据保留尾部空格插入时如果超出最大长度会截断超长部分并告警例 latin1 字符集VARCHAR(4)存ab2 字符数据 1 字节长度信息一共 3 字节存储对比表字符集 latin1如何选择 CHAR / VARCHAR1CHARa字段长度固定手机号、身份证号、MD5 哈希编码等长度永远一样b数据很短长度几乎不变优点查询速度更快不需要计算长度直接按固定地址读取缺点数据短时浪费存储空间2VARCHARa字符串长度波动很大昵称、地址、备注、文章摘要等b大部分数据很短少数较长优点节省磁盘空间只占用实际数据大小缺点需要额外字节保存长度读取性能略低于 CHAR行长度变化会带来碎片问题核心一句话区分CHAR定长存的时候补空格读的时候删末尾空格空间固定查询快VARCHAR变长不补空格读的时候保留末尾空格空间按需分配节省存储如何选择 CHAR 与 VARCHARCHAR定长适用场景1数据长度固定选 CHAR身份证、MD5、学号、邮编2特点直接开辟固定大小存储空间浪费磁盘空间但查询效率高VARCHAR变长适用场景1数据长度变化不定选 VARCHAR名字、地址需要预估最大长度2特点不超过定义长度时用多少开辟多少空间节省磁盘效率偏低VARCHAR 与 TEXT 的区别容量大小1VARCHAR最大 65535 字节2TEXT最大 65535 字节a超过 65535 字节 → 自动转为 MEDIUMTEXT16,777,215 字节b超过 16,777,215 字节 → 自动转为LONGTEXT存储位置1VARCHAR内容768 字节数据存在当前行内容768 字节放到溢出页当前行只存溢出页地址2TEXT全部数据都放在溢出页当前行只保存溢出页地址查询性能 索引1VARCHAR支持普通索引频繁查询可以建索引性能更高2TEXT不能直接创建普通索引仅支持FULLTEXT全文索引性能比 VARCHAR 差适用场景1VARCHAR数据较短需要建立索引检索例如姓名、用户名、邮箱2TEXT数据量大不需要频繁拿该字段做查询条件例如文章正文、大段备注日期类型类型列表其他知识点fsp小数秒精度可选参数取值0--6fsp0代表无小数秒省略不写时默认精度 0时间函数同义词CURRENT_DATE/CURRENT_DATE()CURDATE()获取当前日期CURRENT_TIME/CURRENT_TIME([fsp])CURTIME()获取当前时间CURRENT_TIMESTAMP/CURRENT_TIMESTAMP([fsp])NOW()获取当前日期 时间高频考点区分1TIMESTAMP4 字节时间范围小2038 年问题会自动时区转换2DATETIME8 字节时间范围很大不受时区影响业务开发最常用

相关新闻

年底资产盘点:2026年高效系统选型指南

年底资产盘点:2026年高效系统选型指南

年底盘点效率高不高,关键不在买多贵的设备,而在于盘点方式能否与资产规模匹配、盘点结果能否自动与财务台账对账。对于资产量级在数百到数万件、仍用 Excel 管理的企业,公贝资产这类支持 RFID 批量盘点、手机扫码与全员自助盘点的固定资产管理…

2026/10/11 8:02:08 阅读更多 →
Shell 判断与循环

Shell 判断与循环

Shell 判断与循环语句详解一、判断语句 1. if 语句 基本语法 if [ 条件 ]; then# 条件为真时执行 fi完整语法 if [ 条件1 ]; then# 条件1为真 elif [ 条件2 ]; then# 条件2为真 else# 都不满足 fi示例 #!/bin/bash read -p "请输入分数: " scoreif [ "$score&qu…

2026/10/11 8:02:08 阅读更多 →
性能测试从入门到实践:指标、策略与Jmeter压测全解析

性能测试从入门到实践:指标、策略与Jmeter压测全解析

很多团队一提性能测试,第一反应就是“拿Jmeter压一下接口,看看响应时间长不长、有没有报错”。但真正经历过线上事故复盘的人会明白,性能测试从来不是“压一下看稳不稳”这么简单。它背后是一件需要策略、指标体系和边界条件支撑的系统工程。…

2026/10/11 8:02:08 阅读更多 →

最新新闻

深度学习OCR系统实战:基于PyTorch的CRNN+CTC文字识别

深度学习OCR系统实战:基于PyTorch的CRNN+CTC文字识别

简介:基于深度学习的文字识别系统完整项目包,面向毕业设计、课程设计与期末大作业场景,适合需要快速搭建OCR系统的计算机相关专业学生。项目采用CNN与RNN结合实现文字检测与识别,覆盖图像预处理、模型训练、后端接口与移动端展示全…

2026/10/11 10:25:10 阅读更多 →
使用 claude-howto 的 blog-draft 技能与草稿模板,系统化产出高质量技术博客

使用 claude-howto 的 blog-draft 技能与草稿模板,系统化产出高质量技术博客

教程文档 【免费下载链接】claude-howto A visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value. 项目地址: https://gitcode.com/GitHub_Trending/cl/claude-howto 点…

2026/10/11 10:25:10 阅读更多 →
Excel自动评分:用LOOKUP和IF函数实现体育成绩折算自动化

Excel自动评分:用LOOKUP和IF函数实现体育成绩折算自动化

简介:这份资源是一份面向体育教师及学校教务人员的Excel实用教程文档,聚焦体育测试成绩换算这一高频痛点,帮助读者用公式与函数替代人工比对,降低错漏率。文档围绕学生成绩空表搭建、跳远与跳绳评分标准表制作、LOOKUP近似匹配与I…

2026/10/11 10:25:10 阅读更多 →
Legendary OSINT 海事篇:AIS 船舶追踪工具全景对比

Legendary OSINT 海事篇:AIS 船舶追踪工具全景对比

Legendary OSINT 海事篇:AIS 船舶追踪工具全景对比 【免费下载链接】Legendary_OSINT A list of OSINT tools & resources for (fraud-)investigators, CTI-analysts, KYC, AML and more. 项目地址: https://gitcode.com/GitHub_Trending/le/Legendary_OSINT…

2026/10/11 10:25:10 阅读更多 →
ProxCenter热迁移深度解析:VDDK+nbdkit实现虚拟机零停机迁移的原理与调优

ProxCenter热迁移深度解析:VDDK+nbdkit实现虚拟机零停机迁移的原理与调优

【免费下载链接】proxcenter-ui ProxCenter is an alternative to VMware vCenter for Proxmox environments. It provides a modern, intuitive web interface to manage multiple Proxmox VE clusters and Proxmox Backup Server instances from a single pane of glass. 项目…

2026/10/11 10:25:10 阅读更多 →
2025年AI IDE实战测评榜:从个人开发到企业部署的完整选型攻略(TaoToken统一API接入篇)

2025年AI IDE实战测评榜:从个人开发到企业部署的完整选型攻略(TaoToken统一API接入篇)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:24:10 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →