MySQL数据库的数据类型

1.设置MySQL服务器的默认储存引擎

set default_storage_engine=MYISAM

2. 数值类型

整数类型
  • TINYINT1字节,范围:-128~127(有符号),0~255(无符号)。适用于状态码、布尔值(MySQL无BOOL类型,用TINYINT(1)代替)。

  • SMALLINT2字节,范围:-32768~32767。适用于小范围ID或计数。

  • MEDIUMINT3字节,范围:-8388608~8388607。适用于中等范围数据。

  • INT4字节,范围:-2147483648~2147483647。常用作主键或大计数。

  • 布尔型BIGINT8字节,范围极大。用于超大整数如全球唯一ID。

  • 查看系统帮助

    help +数据类型;
  • 浮点数与定点数
  • FLOAT:4字节,单精度浮点数,近似值。适用于科学数据。

  • DOUBLE:8字节,双精度浮点数,精度更高。

  • DECIMAL(M,D):精确小数,M为总位数,D为小数位数。适用于财务计算。

区别

3. 日期与时间类型

  • DATE:3字节,格式'YYYY-MM-DD',存储日期。

  • TIME:3字节,格式'HH:MM:SS ',时间值。

  • DATETIME:8字节,范围'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。不涉及时区。

  • TIMESTAMP:4字节,范围'1970-01-01 00:00:01' UTC到'2038-01-19 03:14:07' UTC,自动转换时区。

  • YEAR:1字节,存储年份。

    4. 字符串类型

    短文本
  • CHAR(N):定长字符串,最多255字符。适合固定长度如MD5哈希。

  • VARCHAR(N):变长字符串,最多65535字节(实际受行大小限制)。适合可变长度如用户名。

  • BINARY/VARBINARY:类似CHAR/VARCHAR,但存储二进制数据,区分大小写。

  • 长文本与二进制
  • TEXT系列:TINYTEXT (255B)、TEXT (64KB)、MEDIUMTEXT (16MB)、LONGTEXT (4GB)。存储大文本,如文章内容。

  • 5. 枚举与集合

  • ENUM:单选字符串,最多65535个选项。存储时用整数索引,节省空间。

  • SET:多选字符串,最多64个成员。存储为位掩码。

  • BLOB系列:类似TEXT,但存储二进制数据(如图片、文件)。

  • JSON:存储JSON格式数据,自动验证有效性。支持路径查询和部分更新

6.空间数据类型

  • GEOMETRY、POINT、LINESTRING等:用于地理数据,需GIS函数支持。

8.注意事项与最佳实践

  • 数值类型选择

    • 优先选择最小适用类型以减少存储。

    • 精确计算用DECIMAL,避免FLOAT/DOUBLE的精度丢失。

  • 日期类型

    • 跨时区应用使用TIMESTAMP,否则用DATETIME。

    • 避免使用字符串存储日期,以利用日期函数。

  • 字符串类型

    • VARCHAR长度按需设置,避免过度分配。

    • TEXT/BLOB可能影响性能,考虑分表或文件存储。

  • ENUM/SET

    • ENUM适用于静态选项,频繁变更的选项用关联表代替。

    • SET的成员数量有限,超出时需重新设计。

  • JSON类型

    • 适合半结构化数据,但复杂查询可能影响性能。

    • 使用虚拟列加索引优化JSON查询。

  • 索引优化

    • 短字段(如INT)索引效率高于长字段(如VARCHAR(255))。

    • 避免在长文本字段(TEXT)上建索引,可用前缀索引。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/71309.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探秘基带算法:从原理到5G时代的通信变革【四】Polar 编解码(二)

文章目录 2.3.3 极化编码巴氏参数与信道可靠性比特混合生成矩阵编码举例 2.3.4 极化译码最小单元译码串行抵消译码(SC译码)算法SCL译码算法 2.3.5 总结**Polar 码的优势****Polar 码的主要问题****Polar 码的应用前景** 2.3.6 **参考文档** 本博客为系列…

迁移过程中,hive元数据字段校对

有时候在迁移过程中,源端字段可能被修改了,这些都存储在元数据库里,通常我们一般配置的hive元数据库都是mysql。所以我们最快的速度查出结果,就是在mysql里查。 然后对比2端表的md5就可以找到哪个表有问题了,再针对这…

计算机基础面试(数据结构)

1. 数组和链表的区别是什么?各自的优缺点是什么? 专业解答: 数组内存连续,支持随机访问,但插入删除效率低;链表内存离散,插入删除高效,但访问需遍历。 初中生版: 数组像…

DeepSeek vs Grok vs ChatGPT:大模型三强争霸,谁将引领AI未来?

DeepSeek vs. Grok vs. ChatGPT:大模型三强争霸,谁将引领AI未来? 在人工智能领域,生成式模型的竞争已进入白热化阶段。DeepSeek、Grok和ChatGPT作为三大代表性工具,凭借独特的技术路径和应用优势,正在重塑…

解决寻找两个正序数组中位数问题:C语言实现与解析

在算法学习和实际编程应用中,处理数组相关的问题是很常见的。其中,寻找两个正序数组的中位数就是一个经典的题目,不仅考验对数组操作的熟悉程度,还涉及到对算法效率的考量。今天,我们就来深入探讨如何使用C语言解决这一…

【二分答案 C/C++】洛谷P1182 数列分段 Section II

2025 - 03 - 02 - 第 66 篇 Author: 郑龙浩 / 仟濹 【二分搜索/二分答案】 文章目录 洛谷P1182 数列分段 Section II题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1 说明/提示思路1 每段和的最大值最小 什么意思??2 大体思路代码 洛谷P1182 数…

vue3项目中使用Arco Design的Table表格组件expandable展开行属性结合h()函数生成表格嵌套表格效果

文章目录 需求实现方式方式一方式二 操作父元素时默认收起当前展开行 需求 vue3项目中使用Arco Design - Table结合 vue3-h()函数实现表格嵌套表格的效果 实现方式 方式一 1、给Table组件设置表格的“展开行配置”参数&#xff1a;expandable <a-table :expandable&quo…

pytorch 模型测试

在使用 PyTorch 进行模型测试时,一般包含加载测试数据、加载训练好的模型、进行推理以及评估模型性能等步骤。以下为你详细介绍每个步骤及对应的代码示例。 1. 导入必要的库 import torch import torch.nn as nn import torchvision import torchvision.transforms as trans…

VirtualBox虚拟机转VM虚拟机

前言&#xff1a;部分靶机只适用于VirtualBox&#xff0c;VM打不开VirtualBox的文件&#xff0c;所以需要进行转换 前置条件&#xff1a;本机已经下载VM和VirtualBox 第一步&#xff1a;文件转换 找到VirtualBox.exe所在位置&#xff0c;启动cmd窗口 文件转换的命令&#xf…

【零基础C语言】第四节 数组

【零基础C语言系列】 【零基础C语言】第一节 C语言概述【数制进制码制】-CSDN博客 【零基础C语言】第二节 数据类型、运算符、表达式-CSDN博客 【零基础C语言】第三节 控制结构-CSDN博客 一、一维数组

DeepSeek API使用及私有化部署

DeepSeek 大模型概述 DeepSeek 是一款参数量高达 671B 的大语言模型&#xff0c;其模型参数文件规模庞大&#xff0c;即使是经过优化的版本&#xff0c;参数文件也有数十 GB。这种庞大的参数量赋予了 DeepSeek 强大的自然语言处理能力&#xff0c;使其能够处理复杂的语言任务&…

动态扩缩容引发的JVM堆内存震荡:从原理到实践的GC调优指南

目录 一、典型案例&#xff1a;系统发布后的GC雪崩事件 &#xff08;一&#xff09;故障现象 1. 刚刚启动时 GC 次数较多 2. 堆内存锯齿状波动 3. GC日志特征&#xff1a;Allocation Failure &#xff08;二&#xff09;问题定位 二、原理深度解析&#xff1a;JVM内存弹…

IDEA 使用codeGPT+deepseek

一、环境准备 1、IDEA 版本要求 安装之前确保 IDEA 处于 2023.x 及以上的较新版本。 2、Python 环境 安装 Python 3.8 或更高版本 为了确保 DeepSeek 助手能够顺利运行&#xff0c;您需要在操作系统中预先配置 Python 环境。具体来说&#xff0c;您需要安装 Python 3.8 或更高…

C++(蓝桥杯常考点)

前言&#xff1a;这个是针对于蓝桥杯竞赛常考的C内容&#xff0c;容器这些等下棋期再讲 C 在DEVC中注释和取消注释的方法&#xff1a;ctrl/ ASCII值&#xff08;常用的&#xff09;&#xff1a; A-Z:65-90 a-z:97-122 0-9:48-57 换行/n:10科学计数法&#xff1a;eg&#xff1a…

vue These dependencies were not found

These dependencies were not found: * vxe-table in ./src/main.js * vxe-table/lib/style.css in ./src/main.js To install them, you can run: npm install --save vxe-table vxe-table/lib/style.css 解决&#xff1a; nodejs执行以下语句 npm install --save vxe-t…

【三.大模型实战应用篇】【4.智能学员辅导系统:docx转PDF的自动化流程】

去年团队庆功宴上,我司CTO端着酒杯过来:“老王啊,咱们现在文档解析做得挺溜了,但老师们总抱怨下载的作业格式乱码…” 我看了眼手机里凌晨三点收到的崩溃警报,把杯里的可乐一饮而尽——得,新的副本又开了。 一、为什么PDF转换比想象中难十倍? 某次用户调研中,数学教研…

安卓基础组件Looper - 03 java层面的剖析

文章目录 workflow工作线程 准备Looper创建LooperActivity主线程其他情况 Looper.prepare()大体流程java申请Loopernew LooperMessageQueue初始化 nativejniNativeMessageQueue Looper.loop()大体流程java获取Looper获取msg&#xff0c;处理msgLooper.loop()Looper.loopOnce &a…

docker关闭mysql端口映射的使用

需求 项目中的数据库为mysql&#xff0c;如果将端口映射到宿主机上&#xff0c;容易被工具扫描出&#xff0c;且随着国产化的进程推进&#xff0c;mysql将不被允许。为了提高安全性与满足项目需求&#xff0c;这里采用隐藏mysql端口方式&#xff0c;不映射宿主机端口&#xff…

fps项目总结:动画蓝图

文章目录 状态不同状态的并存性。 状态 不同状态的并存性。

【计算机网络】考研复试高频知识点总结

文章目录 一、基础概念1、计算机⽹络的定义2、计算机⽹络的目标3、计算机⽹络的组成4、计算机⽹络的分类5、计算机⽹络的拓扑结构6、计算机⽹络的协议7、计算机⽹络的分层结构8、OSI 参考模型9、TCP/IP 参考模型10、五层协议体系结构 二、物理层1、物理层的功能2、传输媒体3、 …