sql语句应该考虑哪些安全性&union 与union all的区别

 

1、sql语句应该考虑哪些安全性?

    

(1)防止sql注入,对特殊字符进行转义,过滤或者使用预编译的sql语句绑定变量。 


(2)最小权限原则,特别是不要用root账户,为不同的类型的动作或者组建使用不同的账户。 


(3)当sql运行出错时不要把数据库返回的错误信息全部显示给用户,以防止泄漏服务器和数据库相关信息。

 

 

2、union 与union all的区别?

 

    union 在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排 序运算,删除重复的记录再返回结果。

 

     union all 则会显示重复结果,只是简单的两个结果合并并返回.所以效率比union高,在保证没有重复数据的情况下用union all.

 

 

   扩展    union与union all

    

      实例参考:https://www.w3school.com.cn/sql/sql_union.asp

 

        UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

        请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

       SQL UNION 语法          

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

       注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

       

     SQL UNION ALL 语法

SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

 

    

posted @ 2020-01-02 22:35  太阳-向日葵  阅读(60)  评论(0编辑  收藏  举报