如何规范书写sql语句,让代码更加优雅

这篇具有很好参考价值的文章主要介绍了如何规范书写sql语句,让代码更加优雅。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.首先uf-8编码

        UTF-8编码是一种针对Unicode的可变长度字符编码,可以表示任何字符,在国际化应用和多语言环境中非常常见。因此,在编写SQL语句时,建议使用UTF-8编码,避免出现乱码等问题。

2.主键int的定义类型应该是bigint 无字符

          主键是数据库表中的关键字段,并且用于确保数据唯一性。在设计表结构时应该将主键设置为最小的适当类型,因为较小的数据类型需要更少的存储空间,并可以更快地插入、更新、删除数据。对于大型数据集,建议使用BIGINT类型作为主键。

3.varchar类型默认为255长度,我们一般需要将其修改为32长度

        VARCHAR类型是一种可变长度的字符串类型,可以存储最多65535个字符。在某些情况下,使用VARCHAR类型需要更多的存储空间,因为它需要在表中存储字符串长度信息。如果某个字段长度不太可能超过32个字符,则可以将其长度限制为32,从而降低表的存储空间。

4,每一个字段都需要加上非空的字段

        在数据库中,非空约束是指不允许某些列为空。为每个字段添加非空约束,可以确保在插入或更新数据时字段不会为空,并且可以提高数据完整性和准确性。这对于关键数据表格尤其重要,这样就可以避免数据缺失、逻辑错误等问题。

5.缩进

建议使用缩进方式,尤其是在复杂的SQL语句中缩进可以使SQL语句更加易读。

SQL语句在书写时,可能会包含复杂的子查询、嵌套语句等,这些语句层次较深,如果不使用缩进,那么整个SQL语句可能会显得比较混乱,不易于阅读和理解。如果使用缩进将SQL语句的层次结构显示出来,就可以更清晰地看出各个语句块的作用和关系,从而更容易理解和维护。

例如,下面是一个包含子查询的SQL语句:

SELECT product_name, product_price
FROM products
WHERE product_id IN (SELECT product_id
                     FROM order_items
                     WHERE order_id = 12345);

如果不使用缩进,整个SQL语句可能会比较混乱,不易于阅读。但是如果将其缩进,则可以非常清楚地看出主查询和子查询间的关系,并且更加易于理解。

SELECT product_name, product_price
FROM products
WHERE product_id IN (
    SELECT product_id
    FROM order_items
    WHERE order_id = 12345
);

通过缩进,SQL语句看起来像是一棵树,从而更容易理解它的逻辑结构。所以,建议在编写SQL语句时,使用缩进方式,尤其是在复杂的SQL语句中,缩进可以使SQL语句更加易读,易于维护。

6.大小写

建议使用统一的大小写约定,如所有关键字大写,表名、字段名小写。这样做可以增加可读性,同时也有助于避免错误。

7.注释

合理的注释可以提高代码可读性和维护性,建议在SQL中加入必要的注释说明,如各个语句块的用途、重要变量的含义等等。

8.格式化

将SQL语句格式化成易读的形式可以方便开发者查看和调试,可以使用在线SQL语句格式化工具或者IDE自带的SQL格式化功能进行格式化。

SQL语句在编写过程中可能会过于复杂,嵌套过多,难以阅读和理解。为了让SQL语句更加易读、易于维护,可以使用SQL格式化工具进行格式化。

SQL格式化工具可以将SQL语句或者脚本进行格式化,包括缩进、大小写、换行、字符引号等处理,让其更加美观易读,同时也便于开发者进行查看和调试。

可以使用在线SQL格式化工具将SQL语句复制到该工具中进行格式化,也可以将IDE(如SQL Server Management Studio、Oracle SQL Developer等)的自带格式功能设置好后格式化SQL代码。

将SQL语句格式化成易读的形式可以让开发者更容易理解和修改代码,特别是在需要对复杂查询进行优化或调试时,格式化工具可以帮助开发者快速定位问题所在。此外,格式化后的SQL代码还可以降低人为因素引起的错误,提高生产效率并增加代码的可维护性和可读性。

9.参数化查询

不要直接将参数作为SQL语句的一部分拼接在一起,而应该使用参数化查询的方式,防止SQL注入攻击。

SQL注入是一种常见的网络攻击方法,攻击者通过在输入框中输入恶意的SQL代码,来访问或者操作不应该访问或操作的数据,甚至使系统受到破坏。而参数化查询使用参数占位符(如:username)来代替 SQL 语句中的实际参数,然后再将实际参数传递到占位符中,从而避免了SQL注入的风险。

例如,以下是一个存在SQL注入风险的SQL语句:

"SELECT * FROM users WHERE name='" + username + "' AND password='" + password + "'"

当攻击者在输入框中输入特殊字符时,可以改变原始意图并且绕过登录验证。因此,为了避免SQL注入攻击,我们可以使用参数化查询来改写这个SQL语句:

"SELECT * FROM users WHERE name=:name AND password=:password"

在上面的SQL语句中,我们使用了参数占位符(:name 和 :password ),然后再将实际参数传递到这些占位符中。这样做既能避免SQL注入攻击,又能保证代码的安全。

10.不要用SELECT *

在实际应用中,应该明确指定需要查询哪些列,而不是使用通配符SELECT *。具体原因是这样可以减少传输的数据量,提高查询效率,并且也可以避免一些混淆和安全问题。文章来源地址https://www.toymoban.com/news/detail-463937.html

到了这里,关于如何规范书写sql语句,让代码更加优雅的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 代码命名规范的套路是真优雅呀,命名如歌,代码如诗

    日常编码中,代码的命名是个大的学问。能快速的看懂开源软件的代码结构和意图,也是一项必备的能力。那它们有什么规律呢? Java项目的代码结构,能够体现它的设计理念。Java采用长命名的方式来规范类的命名,能够自己表达它的主要意图。配合高级的IDE,可以减少编码

    2024年02月04日
    浏览(34)
  • 【MySQL 】:测试数据准备、SQL语句规范与基本操作

    欢迎来到小K的MySQL专栏,本节将为大家准备MySQL测试数据、以及带来SQL语句规范、数据库的基本操作的详细讲解 要学习SQL查询语句,首先必须解决一个问题,数据问题。为了方便大家学习阅读我的文章,在这里提供了一个test.sql文件 ✨ 登录MySQL,输入 source xxx/test.sql 导入sql文

    2024年02月10日
    浏览(35)
  • 【②MySQL 】:测试数据准备、SQL语句规范与基本操作

    欢迎来到小K的MySQL专栏,本节将为大家准备MySQL测试数据、以及带来SQL语句规范、数据库的基本操作的详细讲解 要学习SQL查询语句,首先必须解决一个问题,数据问题。为了方便大家学习阅读我的文章,在这里提供了一个test.sql文件 ✨ 登录MySQL,输入 source xxx/test.sql 导入sql文

    2024年02月10日
    浏览(38)
  • MySQL 数据库实用指南:测试数据准备、SQL语句规范与基本操作

    欢迎来到小K的MySQL专栏,本节将为大家准备MySQL测试数据、以及带来SQL语句规范、数据库的基本操作的详细讲解 要学习SQL查询语句,首先必须解决一个问题,数据问题。为了方便大家学习阅读我的文章,在这里提供了一个test.sql文件 ✨ 登录MySQL,输入 source xxx/test.sql 导入sql文

    2024年02月08日
    浏览(66)
  • 工作中如何打造优雅的Git工作流和Commit规范!

    前言 🤓Git大家都非常熟悉了,就不做过多介绍,但是如何用好Git、如何进行合理的分支开发、Merge你是否有一个规范流程呢?💤 不论是一个团队一起开发一个项目,还是自己独立开发一个项目,都少不了要和Git打交道,这些都是作为开发者必须要掌握的。每个团队也许有自

    2024年01月21日
    浏览(39)
  • Markdown文档书写规范

    MarkDown 越来越成为方便快捷有效的文档书写格式。尤其对开发者来说。 主要有两个地方用到: 项目的 README.md 文件是每个项目都应该有的一个项目说明文档,里面介绍了项目的基础信息,和需要注意的地方。 写博客的时候,技术的或者生活的 但发现大多数人的书写还是非常

    2024年02月09日
    浏览(27)
  • 某奇艺缺陷书写规范及缺陷严重程度划分

    目录 一、最基本的要求: 二、Bug标题 三、复现步骤 四、描述 五、期望结果 六、实际结果 七、附件 八、备注 九、Bug定级(优先级) Bug书写规范:          1、Bug内所有的文字表述要通顺,无错别字          2、对各个模块的描述必须使用专有名词(比如搜索结果页、搜

    2024年02月16日
    浏览(26)
  • 5分钟说清楚如何让代码更加整洁

    读了两本技术相关的书籍:编程大师Bob大叔的《代码整洁之道》和《代码整洁之道:程序员的职业素养》。 《代码整洁之道》出版于2010年,其内容主要是偏向于技术的\\\"技\\\"。全书都在说一些如何让代码更加整洁的方法和规则。 《代码整洁之道:程序员的职业素养》出版于201

    2024年01月20日
    浏览(21)
  • 【Python】在同一图形中更加优雅地绘制多个子图

    数据可视化非常重要,有一句俗语叫做 一图顶千言 ,我相信好多小伙伴应该都听说过这句话;即使是有人第一次听到,我想应该也会觉得赞成,这足以说明数据可视化的重要性。我们在前一篇博客中,介绍了如何利用 subplot 来在一张子图里绘制多个子图,最近我又发现了一

    2024年02月11日
    浏览(25)
  • Linux 更加优雅地运行 JAR 文件,并将日志文件输出到本地目录,并优雅的查看日志文件信息

    方式一:直接运行jar包,最常用的启动jar包命令,特点:当前ssh窗口被锁定,CTRL + C或关闭窗口,将打断程序运行,程序退出 方式二:代表在后台运行 ,CTRL + C后程序不会被终止,关闭SSH客户端连接,将终止程序 使用 nohup 命令将进程放入后台运行,并使用 符号使命令立即返

    2024年02月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包