数据库----数据类型正确选择

mysql支持的数据类型:

        数值型,如INTBIGINT,FLOAT和decimal

        日期和时间类型,如DATE,TIME和TIMESTAMP等

        字符串类型,如VARCHAR,CHAR和BLOB

        空间数据类型,如GEOMETRY,POINT和POLYGON

        JSON数据类型

        枚举类型(Enumeration Types):适合存储从预定义列表中选择的值。ENUM允许从一个列表中选择一个固定数量的值进行存储。

        集合类型(Set Types):与枚举类型类似,但允许选择多个值进行存储。SET允许从一个预定义的值集合中选择多个值进行存储。

数据类型的选择取决于字段存储的具体数据:

        1、确保正确存储数据

        2、空间利用最优

如同一个数据可能有多种存储方式,选择最合适的方式:

        如phone_number,为什么选择VARCHAR(20)

  • CHAR:固定长度的字符串类型。它始终使用指定的长度进行存储,不管实际字符串长度是多少,如果字符串长度小于指定长度,则会用空格进行填充。
  • VARCHAR:可变长度的字符串类型。它根据实际的字符串长度来进行存储,不会浪费存储空间。

举几个例子:

  1. 整数类型

    • 如果你需要存储员工的年龄,可以选择 TINYINT,因为年龄通常在 0 到 127 之间。
    • 如果你需要存储订单数量,可以选择 INT,因为订单数量可能会很大,而 INT 能够容纳较大的整数范围。
  2. 浮点数类型

    • 如果你需要存储商品的价格,可以选择 DECIMAL,因为商品价格需要精确到小数点后几位,而 DECIMAL 提供了固定的精度。
    • 如果你需要存储科学测量数据,可以选择 DOUBLE,因为科学测量数据可能需要较高的精度。
  3. 字符串类型

    • 如果你需要存储用户的姓氏,可以选择 VARCHAR,因为姓氏的长度可能会有所不同。
    • 如果你需要存储邮政编码,可以选择 CHAR(6),因为邮政编码通常是固定长度的。
  4. 日期和时间类型

    • 如果你需要存储订单的创建日期,可以选择 DATETIME,因为它可以同时存储日期和时间信息。
    • 如果你只需要存储时间信息,比如存储开店时间,可以选择 TIME
  5. 枚举类型

    • 如果你需要存储用户的性别信息,可以选择 ENUM('男', '女', '其他'),因为性别通常只有几个固定的取值。
  6. 集合类型

    • 如果你需要存储用户的兴趣爱好,可以选择 SET('篮球', '足球', '游泳', '登山'),因为用户可能有多个兴趣爱好。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决创建springboot项目时,无法选中java8的问题

主要原因是springboot3.0.0以上版本需要jdk17. 问题描述: 解决办法: 在Server url上点击齿轮,把http://start.springboot.io/更改为https://start.aliyun.com/ 效果如下

速通汇编(三)寄存器及汇编mul、div指令

一,寄存器及标志 AH&ALAX(accumulator):累加寄存器BH&BLBX(base):基址寄存器CH&CLCX(count):计数寄存器DH&DLDX(data):数据寄存器SP(Stack Pointer):堆栈指针寄存器BP(Base Pointer)&#…

C#调用FreeSpire.Office读取word数据的基本用法

FreeSpire.Office是Spire.Office的免费版本,后者支持全面、复杂的office文件操作功能,包括文件格式转换、文档操作、文档打印等,详细介绍见下图及参考文献1。本文学习FreeSpire.Office的基本用法并用其获取word文档的基本信息。   新建Win…

python统计分析——双样本均值比较

参考资料:python统计分析【托马斯】 1、配对样本t检验 在进行两组数据之间的比较时,有两种情况必须区分开。在第一种情况中,同一对象在不同时候的两个记录值进行相互比较。例如,用学生们进入初中时的身高和他们一年后的身高&…

学习transformer模型-Positional Encoding位置编码的简明介绍

今天介绍transformer模型的positional encoding 位置编码 背景 位置编码用于为序列中的每个标记或单词提供一个相对位置。在阅读句子时,每个单词都依赖于其周围的单词。例如,有些单词在不同的上下文中具有不同的含义,因此模型应该能够理解这…

鸿蒙OS开发实例:【ArkTS 实现MQTT协议】

介绍 MQTT是物联网中的一种协议,在HarmonyOS API9平台,解决方案以C库移植为实现方案。 遥遥领先的平台,使用MQTT怎能不遥遥领先呢! 新年快乐,本篇将带领你手把手实现HarmonyOS ArkTS语言的MQTT协议。 准备 阅读…

LLM--提示词Propmt的概念、作用及如何设计提示词

文章目录 1. 什么是提示词?2. 提示词的作用3. 如何设计提示词?3.1. 提供详细的信息3.2. 指定角色3.3. 使用分隔符和特殊符号3.4. 提供示例3.5. 少量示例的思维链(COT)模型3.6. 思维树(TOT)模型3.7. 自洽性 …

【4】单链表(有虚拟头节点)

【4】单链表(有虚拟头节点) 1、虚拟头节点2、构造方法3、node(int index) 返回索引位置的节点4、添加5、删除6、ArrayList 复杂度分析(1) 复杂度分析(2) 数组的随机访问(3) 动态数组 add(E element) 复杂度分析(4) 动态数组的缩容(5) 复杂度震荡 7、单链…

【Linux 10】环境变量

文章目录 🌈 Ⅰ 命令行参数⭐ 1. main 函数的参数⭐ 2. main 函数参数的意义⭐ 3. 查看 argv 数组的内容⭐ 4. 命令行参数结论⭐ 5. 为什么要有命令行参数⭐ 6. 命令行参数传递由谁执行 🌈 Ⅱ 环境变量基本概念⭐ 1. 常见环境变量 🌈 Ⅲ 查看…

LeetCode_876(链表的中间结点)

//双指针//时间复杂度O(n) 空间复杂度O(1)public ListNode middleNode(ListNode head) {ListNode slowhead,fast head;while (fast!null && fast.next!null){slow slow.next;fast fast.next.next;}return slow;} 1->2->3->4->5->null 快指针移动两个…

9款免费云服务器,最长永久免费使用

随着云计算技术的快速发展,越来越多的企业和个人开始选择使用云服务器。云服务器提供了灵活、可扩展且易于管理的资源,使得用户可以根据需求随时调整计算能力。本文将分享9款免费云服务器,其中最长可永久免费使用,为用户提供了更多…

flutter官方案例context_menus

1:根据项目中的案例进行部署 2:运行查看有什么用,可不可以直接复制粘贴 案例地址 https://github.com/flutter/samples/tree/main/context_menus案例展示方法 直接把这个文件夹中的文件复制到lib文件夹中 3,19,4的fl…

HTML常用的图片标签和超链接标签

目录 一.常用的图片标签和超链接标签: 1.超链接标签: 前言: 超链接的使用: target属性: 1)鼠标样式: 2)颜色及下划线: 总结: 2.图片标签: 前言: img的使用: 设置图片: 1.设置宽度和高度: 2.HTM…

内网渗透之黄金票据的制作

1、黄金票据是用来留后门的也叫做未知权限,前提条件是你已经拿到了域控的最高权限 一、开始之前我们先来了解一下kerberos Kerberos是一种由MIT(麻省理工大学)提出的一种网络身份验证协议。它旨在通过使用密钥加密技术为客户端/服务器应…

基于muduo网络库实现的集群聊天服务器

目录 项目内容开发环境安装说明技术介绍项目目录数据库设计项目介绍启动服务器启动客户端注册账号登录成功一对一聊天业务创建群聊业务加入群聊业务群聊业务添加好友业务离线消息存储业务 特殊说明 !!!项目是照着腾讯课堂施磊老师的视频学习&…

【QT+QGIS跨平台编译】054:【exiv2lib_int+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

点击查看专栏目录 文章目录 一、exiv2lib_int介绍二、文件下载三、文件分析四、pro文件五、编译实践一、exiv2lib_int介绍 exiv2lib_int是 exiv2 这个开源的图像元数据库中的一个组件。 Exiv2是一个开源的C++库,用于读取、编辑和写入图片和视频文件的元数据。它可以处理各种类…

01-XML-04XML处理

XML处理 DOM DOM解析要求解析器将整个XML文件全部加载到内存中,生成一个Document对象。 优点:元素和元素之间保留结构,关系,可以针对元素进行增删改查操作。 缺点:如果XML文件过大,可能会导致内存溢出。SA…

【Linux】寿司线程池{单例模式之懒汉模式下的线程池}

文章目录 回顾单例模式0.多线程下的单例模式的意义1.什么是单例模式1.0设计模式1.1C单例模式的介绍及原理1.2拷贝构造和赋值重载的处理1.3if (nullptr ptr),nullptr放在比较运算符的前面?1.4实现单例模式的方式 2.实现懒汉方式的单例模式2.1单线程的单例模式2.2多…

Go 源码之 gin 框架

Go 源码之 gin 框架 go源码之gin - Jxy 博客 一、总结 gin.New()初始化一个实例:gin.engine,该实例实现了http.Handler接口。实现了ServeHTTP方法 注册路由、注册中间件,调用addRoute将路由和中间件注册到 methodTree 前缀树(节…

AR-Net网络(图像篡改检测)

AR-Net网络 摘要AbstractAR-Net1. 文献摘要2. 研究背景3. 创新点4. AR-Net 网络架构5. 实验6. 结论总结 摘要 AR-Net使用自适应注意力机制来融合位置和通道维度的特征,使网络能够充分利用不同维度的被篡改特征,此外,AR-Net 改进了预测掩模&a…