您的位置:首页 > 数据库

实际项目中的SQL语句

2016-06-06 00:00 232 查看
摘要: 实际项目中的SQL语句

1.select语句中避免出现*,如有需要列出所查询的字段名。即使查询表中所有字段,也要将字段列出来,尽量按字段在表中定义的顺序列出。

2.表间关联查询时,where条件最左边写表间的关联字段,再写过滤条件,并且按照过滤条件过滤越多的,或者按照过滤条件查询的更少的,尽量放在where条件的最左边。

3.单表操作的DML语句,如select,insert,update,delete可以直接通过HQL来操作。但涉及到表和表之间关联的复杂查询时,建议通过jdbc来进行查询。

4.sql语句中出现需要通过函数将列和所给条件值比较的,应该尽量将函数加在值上,而不是列上。

5.为避免sql入侵,采用PrepareStatement的方式来执行命令。

6.涉及到批量执行insert,update,delete时,应该考虑使用batch方式批量执行sql,而不是分次执行多个sql。

7.创建视图时,不要指定definer,如DEFINER=`sa`@`%`,应该由当前执行sql的用户去自动匹配,一把都是授权给root用户。否则或报错。

8.如果通过alter添加列,必须指定该列要添加的位置,用after语句,如果不指定after语句,默认是加到表的最后的,这样不符合规范。

9.sql语句条件比较时,数字类型的不要在值上加单引号,即不要让数据库引擎进行二次转换。原则是保证列和要比较的值是同一个类型。

10.sql中少用嵌套in查询,改为join查询。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息