一个不错的 SQL 编码风格的指南

简介: 一个不错的 SQL 编码风格的指南

前言

SQL语句的编写对于我们后端开发者而言是一个必备的技巧,在日常工作中,SQL语言编写的质量不仅仅会影响到团队的合作效率与项目的可维护性,还直接关系到数据库的性能优化与数据安全。今天大姚给大家分享一个不错的 SQL 编码风格的指南,希望可以帮助到有需要的同学。

项目介绍

sqlstyle.guide是一个关于SQL编码风格的指南,旨在通过提供一套明确的规则和标准,帮助开发者编写更加清晰、一致和易于维护的SQL代码。该指南提供了多语言版本描述,其中包括:简体中文、英文、法语、德语、韩语等多种语言。

SQL和数据库相关

关系型数据库(SQL)库指的是使用关系模型(二维表格模型)来组织数据的数据库,是一种使用结构化查询语言(Structured Query Language,简称SQL)进行数据管理和操作的数据库类型。它采用表格的形式来组织和存储数据,通过定义表之间的关系来建立数据之间的联系。

应该做的事情

  • 使用一致的、描述性的名称。
  • 合理地使用空格和缩进来增强可读性。
  • 存储符合 ISO-8601 标准的日期格式(YYYY-MM-DDTHH:MM:SS.SSSSS)。
  • 为了提高可移植性,最好仅使用标准 SQL 函数而不是特定供应商的函数。
  • 保证代码简洁明了、没有多余的 SQL —— 比如非必要的引号或括号,或者可以推导出的 WHERE 子句。
  • 必要时在 SQL 代码中加入注释。优先使用 C 语言式的以 /* 开始以 */ 结束的块注释,或使用以 -- 开始的行注释,并在末尾换行。

应避免的事情

  • 驼峰命名法 —— 它不适合快速扫读。
  • 描述性的前缀或匈牙利命名法比如 sp_ 或 tbl。
  • 复数形式 —— 尽量使用更自然的集合术语。比如,用“staff”替代“employees”,或用“people”替代“individuals”。
  • 被引号包裹的标识符(quoted identifier)—— 如果你必须使用这样的标识符,最好坚持用 SQL92 的双引号来提高可移植性(你可能需要配置你的 SQL 服务器以支持此特性,具体取决于供应商)。
  • 面向对象编程的原则不该应用到 SQL 或数据库结构上。

更多技巧阅读

相关文章
|
7月前
|
SQL 关系型数据库 MySQL
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
|
2月前
|
SQL 存储 数据库
SQL部分字段编码设置技巧与方法
在SQL数据库管理中,设置字段的编码对于确保数据的正确存储和检索至关重要
|
3月前
|
SQL 分布式计算 大数据
大数据开发SQL代码编码原则和规范
这段SQL编码原则强调代码的功能完整性、清晰度、执行效率及可读性,通过统一关键词大小写、缩进量以及禁止使用模糊操作如select *等手段提升代码质量。此外,SQL编码规范还详细规定了代码头部信息、字段与子句排列、运算符前后间隔、CASE语句编写、查询嵌套、表别名定义以及SQL注释的具体要求,确保代码的一致性和维护性。
111 0
|
SQL 数据库
SQL挑战——如何高效生成编码
有这样一个需求:需要根据输入的编码(这个编码值来自于数据库的一个表)生成下一个编码,编码规则如下所示(我们暂且不关心这个逻辑是否合理,只关心如何实现):    1: 最小值为A0000, 最大值为ZZZZZ   2:编码A0000的下一个值为A0001, 编码A9999的下一个值为B0000, 编码AB999的下一个值为AC000,编码AC999的下一个值为AD000,依此规则内推。
886 0
|
SQL 关系型数据库 数据库
PostgreSQL sql文件编码引起的数据导入乱码或查询字符集异常报错(invalid byte sequence)
标签 PostgreSQL , 乱码 , 文件编码 背景 当用户客户端字符集与服务端字符集不匹配时,写入的多字节字符(例如中文)可能出现乱码。 例子 数据库字符集为sql_ascii,允许存储任意编码字符。
3765 0
|
SQL 数据库 关系型数据库
SQL挑战——如何高效生成编码
原文:SQL挑战——如何高效生成编码 有这样一个需求:需要根据输入的编码(这个编码值来自于数据库的一个表)生成下一个编码,编码规则如下所示(我们暂且不关心这个逻辑是否合理,只关心如何实现):    1: 最小值为A0000, 最大值为ZZZZZ   2:编码A0000的下一个值为A0001, 编码A9999的下一个值为B0000, 编码AB999的下一个值为AC000,编码AC999的下一个值为AD000,依此规则内推。
929 0
|
SQL 数据库 关系型数据库
|
SQL
SQL 将URL编码转汉字!
原文: SQL 将URL编码转汉字! -- ============================================= -- 作 者: ruijc -- 描 述: 将Url编码转明文字符串 -- ============...
1088 0