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

MySQL 数据库 :SQL 语句规约(不得使用外键与级联,一切外键概念必须在应用层解决。)

文章目录

  • I 强制规约
    • 表名限定
    • 数据订正
    • 禁止使用存储过程,存储过程难以调试和扩展,更没有移植性。
    • 不得使用外键与级联,一切外键概念必须在应用层解决。
    • 使用 ISNULL() 来判断是否为 NULL 值
    • NPE 问题
    • 不要使用 count(列名) 或 count(常量) 来替代 count(*)
  • II 建议
    • in 操作能避免则避免
  • III 参考
    • 不建议在开发代码中使用TRUNCATE 语句。
    • 因国际化需要,所有的字符存储与表示,均采用 utf8mb4 字符集,字符计数方法需要注意。
    • 存储字符集 utf8 和 utf8mb4

I 强制规约

表名限定

对于数据库中表记录的查询和变更,只要涉及多个表,都需要在列名前加表的别名(或表名)进行限定。

  • 说明:对多表进行查询记录、更新记录、删除记录时,如果对操作列没有限定表的别名(或表名),并且操作列在多个表中存在时,就会抛异常。

  • 正例:

select t1.name from first_table as t1 , second_table as t2 where t1.id = t2

http://www.kler.cn/a/508439.html

相关文章:

  • USB 驱动开发 --- Gadget 驱动框架梳理(一)
  • MySQL(高级特性篇) 06 章——索引的数据结构
  • PCL 新增自定义点类型【2025最新版】
  • 2025.1.16——六、BabySQL 双写绕过|联合注入
  • SQL Server 导入Excel数据
  • 《汽车维修技师》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • 无人机技术架构剖析!
  • 半导体、芯片、人工智能、智能驾驶汽车的趋势
  • ansible基础
  • 【OpenCV(C++)快速入门】--opencv学习
  • LTX-Video 高效视频生成模型,一键处理图片文字
  • Swift语言的软件开发工具
  • [SUCTF2018]babyre
  • 基于SpringBoot+Vue的药品管理系统【源码+文档+部署讲解】
  • 记一次linux下的c++ arm程序调试
  • c语言中单引号和双引号用法详解
  • cmake foreach 条件判断
  • SpringBoot Starter 通用接口加密组件(防篡改)+ RequestBodyAdvice和ResponseBodyAdvice原理
  • 商用车电子电气零部件电磁兼容条件和试验(8)—辐射抗干扰(ALSE)和便携式发射机抗干扰(HPT)
  • (01)STM32—GPIO
  • Django MySQL数据库配置完全指南
  • pytorch张量复制方法介绍
  • 自动化之Ansible
  • AUTOSAR通信篇 - PDU和收发数据
  • PMML和XML-标记语言异同
  • %.*s——C语言中printf 函数中的一种格式化输出方式