MySQL建表时的注意事项

devtools/2024/9/24 9:01:51/

以下是我对MySQL建表时的注意事项。其实,建表事项有很多,我的总结如下:

1 存储引擎的选择,一般做开发,都是要支持事务的,所以选择InnoDB

2 对字段类型的选择:

​ 对于日期类型如果要记录时分秒,建议使用datetime

​ 对于日期类型如果只记录年月日,则使用date类型

​ 对于字符类型的选择,固定长度用char,不固定长度用varchar (varchar比char节省空间但速度没有char快)

​ 对于内容介绍类的长文本字段使用text或longtext

​ 对于存储图片等二进制数据使用blob或longblob类型

​ 对于金额字段建议使用decimal

​ 对于数值类型字段在确保取值范围足够的前提下,尽量使用占用空间较小的类型

3 主键字段使用自增id,不要用具有业务意义的字段作为主键(比如手机号码,身份证号码等)。建议使用int unsigned类型,特殊场景,如数据量较大的情况,使用bigint类型

4 如果要存储text,blob字段建议单独建一张表,并加入一个引用字段和主表关联

5 字段设置默认值,比如:状态,创建时间等。

6 尽量不要定义外键(参考阿里规范手册),保证表的独立性

7 每个字段都写清楚注释

8 注意字段的约束,比如,非空、唯一、主键等。


http://www.ppmy.cn/devtools/56536.html

相关文章

rust单元测试顺序执行

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 存在的问题 有时候,不同单元测试之间可能会竞争相同的资源,比如读写相同的文件。在这种情况下,如果…

微软有哪些大模型Copilot应用?

微软推出了多款基于大模型的Copilot应用,这些应用利用人工智能和自然语言处理技术,旨在提升用户在不同领域的生产力和效率。以下是一些主要的Copilot应用: 1、Microsoft 365 Copilot:集成于Word、Excel、PowerPoint、Outlook和Te…

使用 privacyIDEA 实现 Windows RDP 多因素认证 (MFA)

前言 在等保 2.0 标准中有要求: d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。 可以借助开源的 privacyIDEA 配合 AD 域环境实现 RDP MFA 认证登录以满足上面的要…

【机器学习】机器学习的重要方法——强化学习:理论,方法与实践

目录 一、强化学习的核心概念 二、强化学习算法的分类与示例代码 三.强化学习的优势 四.强化学习的应用与挑战 五、总结与展望 强化学习:理论,方法和实践 在人工智能的广阔领域中,强化学习(Reinforcement Learning, RL&…

【LLM 论文】Self-Refine:使用 feedback 迭代修正 LLM 的 output

论文:Self-Refine: Iterative Refinement with Self-Feedback ⭐⭐⭐⭐ CMU, NeurIPS 2023, arXiv:2303.17651 Code: https://selfrefine.info/ 论文速读 本文提出了 Self-Refine 的 prompt 策略,可以在无需额外训练的情况下,在下游任务上产…

使用 JavaScript 的 classList 方法轻松切换样式

JavaScript提供了一个非常方便的属性classList,用于操作元素的类名 什么是 classList? classList 是一个 DOM 属性,它返回一个元素的类名集合,并提供了一系列操作这些类名的方法。常用的方法包括: add(className)&a…

最流行的文件同步软件

PanguFlow是一款免费的文件同步软件,他支持文件的全量同步、支持文件的增量同步、支持文件的实时备份,支持双向同步,支持三向同步甚至多向同步,支持无人值守运行。 PanguFlow数据同步软件下载地址https://pan.baidu.com/s/1GLjFR…

加速科技Flash存储测试解决方案 全面保障数据存储可靠性

Flash存储芯片 现代电子设备的核心数据存储守护者 Flash存储芯片是一种关键的非易失性存储器,作为现代电子设备中不可或缺的核心组件,承载着数据的存取重任。这种小巧而强大的芯片,以其低功耗、可靠性、高速的读写能力和巨大的存储容量&…