阿里SQL规约

阿里SQL规约

集团重点强制SQL规约如下:

1、【强制】不要使用count(列名)或count(常量)来替代count(),count()就是SQL92定义的标准统计行数的语法,跟数据库无关,跟NULL和非NULL无关。

2、【强制】count(distinct col) 计算该列除NULL之外的不重复数量。注意 count(distinct col1, col2) 如果其中一列全为NULL,那么即使另一列有不同的值,也返回为0。

3、【强制】当某一列的值全是NULL时,count(col)的返回结果为0,但sum(col)的返回结果为NULL,因此使用sum()时需注意NPE问题。

4、【强制】使用ISNULL()来判断是否为NULL值。

5、【强制】在代码中写分页查询逻辑时,若count为0应直接返回,避免执行后面的分页语句。

6、【强制】不得使用外键与级联,一切外键概念必须在应用层解决。

7、【强制】禁止使用存储过程,存储过程难以调试和扩展,更没有移植性。

8、【强制】IDB数据订正(特别是删除或修改记录操作)时,要先select,避免出现误删除,确认无误才能提交执行。

9、【强制】对于数据库中表记录的查询和变更,只要涉及多个表,都需要在列名前加表的别名(或表名)进行限定。

你可能感兴趣的:(Java,java,数据库,mysql,spring,boot,后端)