为了提高可读性,建议整理MySQL查询的方法是什么?

时间:2012-03-20 01:11:33

标签: php mysql readability code-readability

有一段时间我总是将我的疑问作为一行:

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的上下文中完成的。

2 个答案:

答案 0 :(得分:2)

这一切都取决于你的可读性,但对其他读者来说也必须清楚。

就个人而言,我这样做:

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

哪个像你的例子一样易于阅读。总结:

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

答案 1 :(得分:2)

我是这样的:

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