SQL 类型的支持:
·PREPARE Syntax
·EXECUTE Syntax
二进制协议的支持:
·COM_STMT_PREPARE
·COM_STMT_EXECUTE
预处理语句的作用:
·防止 SQL 注入:由于使用了参数化查询,用户输入的数据被作为参数传递,而不是直接拼接到 SQL 语句中。这有效防止了恶意用户通过输入特殊字符来操控 SQL 语句结构,从而避免了 SQL 注入攻击。
·提高性能:数据库可以缓存预处理语句的执行计划。当相同的预处理语句多次执行时,数据库无需重新解析和编译 SQL 语句,只需绑定新的参数即可,从而提高了查询性能。
示例:
mysql> prepare ff from "select * from test1 where a=?"; Query OK, 0 rows affected (0.00 sec) Statement prepared mysql> set @aa=3; Query OK, 0 rows affected (0.00 sec) mysql> execute ff using @aa; +—+——+ | a | b | +—+——+ | 3 | 4 | +—+——+ 1 row in set (0.06 sec)