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

MySQL建表时的注意事项

以下是我对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.lryc.cn/news/387401.html

相关文章:

  • Advanced RAG 09:『提示词压缩』技术综述
  • (13)DroneCAN 适配器节点(二)
  • 摸鱼大数据——Spark基础——Spark环境安装——Spark Local[*]搭建
  • 函数内部结构分层浅析(从MVC分层架构联想)
  • 【three.js案例二】时空隧道
  • 动手学深度学习(Pytorch版)代码实践 -计算机视觉-48全连接卷积神经网络(FCN)
  • 【Python游戏】猫和老鼠
  • 【无标题】c# WEBAPI 读写表到Redis
  • 【剑指Offer系列】53-0到n中缺失的数字(index)
  • docker compose部署zabbix7.0官方方法快速搭建
  • 分库分表之后如何设计主键ID(分布式ID)?
  • 秋招突击——6/28、6.29——复习{数位DP——度的数量}——新作{}
  • Spring Boot中使用Thymeleaf进行页面渲染
  • 恢复策略(下)-事务故障后的数据库恢复、系统故障后的数据库恢复(检查点技术)、介质故障后的数据库恢复
  • 如何知道docker谁占用的显卡的显存?
  • wps linux node.js 加载项开发,和离线部署方案
  • 红队内网攻防渗透:内网渗透之内网对抗:横向移动篇Kerberos委派安全非约束系约束系RBCD资源系Spooler利用
  • nginx上传文件限制
  • 76. 最小覆盖子串(困难)
  • K8S 集群节点扩容
  • AI大模型技术在音乐创造的应用前景
  • Linux多进程和多线程(一)-进程的概念和创建
  • 熊猫烧香是什么?
  • 使用Vue3和Tailwind CSS快速搭建响应式布局
  • J019_选择排序
  • 【linux】vim的使用
  • 【工具测评】ONLYOFFICE8.1版本桌面编辑器测评:好用!
  • 核方法总结(四)——高斯过程回归学习笔记
  • 【Python3的内置函数和使用方法】
  • 递推算法计算信号特征