【问题标题】:What is a recommended way to write MySQL queries neatly to improve readability? [closed]整洁地编写 MySQL 查询以提高可读性的推荐方法是什么? [关闭]
【发布时间】:2012-03-20 01:11:33
【问题描述】:

有一段时间我总是把我的查询放在一行中:

SELECT * FROM table WHERE col = value ORDER BY id DESC

现在我已经多次被告知不要使用*,我一直在尝试找到一种方法来使更长的查询可读。到目前为止,我有这样的事情:

SELECT table.id,
       table.type,
       table.name

FROM table

WHERE table.id > $lastId
AND table.type = $type

ORDER BY table.id ASC

这看起来不错,但是有什么我应该看看的最佳实践吗?

我的 MySQL 工作是在 PHP 的上下文中完成的。

【问题讨论】:

  • 如果你是唯一一个查看代码的人,那么它最适合你。
  • 不盲目使用*的原因与可读性无关,但你已经知道了
  • 很高兴关闭它,但我很好奇 code-readability 和类似标签的存在,如果它们离题的话..
  • @MartyWallace 人们只是希望它被送到更好的地方

标签: php mysql readability code-readability


【解决方案1】:

我是这样的:

SELECT 
    t.id,               //indent fields to pick out
    t.type,
    t.name
FROM 
    table t             //shorter alias (but alias wisely)
WHERE 
    t.id > $lastId      //indent conditions
    AND t.type = $type
ORDER BY 
    t.id ASC            //indent order parameters

【讨论】:

  • 始终使用“AS”作为别名会更好——它是语法糖,但有助于提高可读性。
【解决方案2】:

这一切都取决于您可以阅读的内容,但其他读者也必须清楚。

就我个人而言,我这样做:

SELECT 
    table.id,
    table.type,
    table.name
FROM table
WHERE table.id > $lastId
    AND table.type = $type
ORDER BY table.id ASC

这就像您的示例一样易于阅读。总结:

  • 让您的 SQL 可读,以便您的代码的其他用户知道发生了什么,但是;
  • 使用您个人觉得舒服并喜欢使用的样式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 2019-10-05
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    • 2010-09-09
    相关资源
    最近更新 更多