一般情况下,在使用SQL语句时,通常会遇到类似:
的内容SELECT COUNT( * ) AS `rowCount` FROM `someTable`;
如果我们按如下方式编写查询,那么技术或风格指南是否有任何缺点:
SELECT COUNT( * ) AS `Row count` FROM `someTable`;
或者:
SELECT COUNT( * ) `rowCount` FROM `someTable`;
VS
SELECT COUNT( * ) `Row count` FROM `someTable`;
我在我们给结果列的名称中具体询问空格。
在任何编程语言中使用此查询时,这可能会产生问题吗?
答案 0 :(得分:2)
这取决于您在获取列时尝试访问列的方式。
在PHP中,如果将行提取到对象(而不是关联数组)中,则别名将成为对象属性。访问名称中包含空格的属性并不方便。而不是
$row->rowCount
你必须写:
$row->{"Row count"}
但是,在大多数MySQL API中访问列的最常用方法是使用某种关联数组或字典。在这种情况下,
之间差别不大$row['rowCount']
和
$row['Row count']
因为您必须将别名放在引号中。
答案 1 :(得分:1)
如果您将空格放入标识符中,那么每次使用时都必须分隔它们。
如果您没有在标识符中添加空格,也不使用标点字符,非ASCII字符,并且不使用SQL reserved words,那么您可以选择使用标识符而不分隔它。