SQL参数化查询讲座(二)
时间:2011-05-24
来源:互联网
SQL语句如果采用参数化查询的方式,则表示为“SELECT column1, column2, … FROM table1
WHERE param_column1 = ? AND param_column2 = ? ”。其中两个问号(?)是待定的数据列的值。在有些开发平台,问号的地方可能用有指
定标记的命名参数代替,如“SELECT column1, column2, … FROM table1 WHERE param_column1 = @param1 AND param_column2 = @ param2
”。不管是问号还是命名参数,咋一看都似乎与字符串格式化差不多。不过,在参数化查询中,程序直接把这个包含待定值的SQL语句提交给数
据库,由数据库引擎为之生成查询计划。之后,程序以参数的方式提供这些值。数据库引擎把参数中的值应用到查询计划中,然后执行查询结
果。如果改变参数的值后再执行,则得到不同的查询结果,但SQL语句不需要重新提交,查询计划也不需要重新生成,参数的修改对查询计划没
有影响。哪怕参数中包含精心设计的特殊字符,也不会形成SQL注入式攻击。参数改变的次数越多,则查询计划的重用性越高。
与程序设计语言中的函数或过程类似,SQL语句的参数也可以分为输入参数、输出参数及输入输出参数。其中输入参数最为常见。上面的查询例
子中的两个参数都是输入参数。参数的类型可以是整数、浮点数、字符串乃至二进制数据。采用参数化查询,可以很方便地导入二进制数据。
更多其他信息可登录http://www.qingniao.info
WHERE param_column1 = ? AND param_column2 = ? ”。其中两个问号(?)是待定的数据列的值。在有些开发平台,问号的地方可能用有指
定标记的命名参数代替,如“SELECT column1, column2, … FROM table1 WHERE param_column1 = @param1 AND param_column2 = @ param2
”。不管是问号还是命名参数,咋一看都似乎与字符串格式化差不多。不过,在参数化查询中,程序直接把这个包含待定值的SQL语句提交给数
据库,由数据库引擎为之生成查询计划。之后,程序以参数的方式提供这些值。数据库引擎把参数中的值应用到查询计划中,然后执行查询结
果。如果改变参数的值后再执行,则得到不同的查询结果,但SQL语句不需要重新提交,查询计划也不需要重新生成,参数的修改对查询计划没
有影响。哪怕参数中包含精心设计的特殊字符,也不会形成SQL注入式攻击。参数改变的次数越多,则查询计划的重用性越高。
与程序设计语言中的函数或过程类似,SQL语句的参数也可以分为输入参数、输出参数及输入输出参数。其中输入参数最为常见。上面的查询例
子中的两个参数都是输入参数。参数的类型可以是整数、浮点数、字符串乃至二进制数据。采用参数化查询,可以很方便地导入二进制数据。
更多其他信息可登录http://www.qingniao.info
作者: huliaohaixiao 发布时间: 2011-05-24
路过。。。。。然后在飘回来
祛痘
祛痘
作者: 孔届保 发布时间: 2011-06-11
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28