MySQL 数据库 :SQL 语句规约(不得使用外键与级联,一切外键概念必须在应用层解决。)
文章目录
- I 强制规约
-
- 表名限定
- 数据订正
- 禁止使用存储过程,存储过程难以调试和扩展,更没有移植性。
- 不得使用外键与级联,一切外键概念必须在应用层解决。
- 使用 ISNULL() 来判断是否为 NULL 值
- NPE 问题
- 不要使用 count(列名) 或 count(常量) 来替代 count(*)
- II 建议
-
- in 操作能避免则避免
- III 参考
-
- 不建议在开发代码中使用TRUNCATE 语句。
- 因国际化需要,所有的字符存储与表示,均采用 utf8mb4 字符集,字符计数方法需要注意。
- 存储字符集 utf8 和 utf8mb4
I 强制规约
表名限定
对于数据库中表记录的查询和变更,只要涉及多个表,都需要在列名前加表的别名(或表名)进行限定。
-
说明:对多表进行查询记录、更新记录、删除记录时,如果对操作列没有限定表的别名(或表名),并且操作列在多个表中存在时,就会抛异常。
-
正例:
select t1.name from first_table as t1 , second_table as t2 where t1.id = t2