本节目标
1.了解什么是预处理
2.了解预处理的优势
3.掌握预处理的基本使用
什么是预处理?
预处理的优势
软件开发php或者是java基本都会用到预处理,但是都并不复杂
预处理的使用
定义预处理语句
prepare stmt_name from preparable_stmt;
执行预处理语句
execute stmt_name [using @var_name [,@var_name]...];
删除(释放)定义
{deallocate | drop } prepare stmt_name;
|==================================================================
实操
创建预处理命令:
prepare pre_employee from 'select * from employee where name=?';
mysql> prepare pre_employee from 'select * from employee where name =?';
Query OK, 0 rows affected (0.07 sec)
Statement prepared
插入数据
命令:
set @name1='墨菲';
set @name2='张三';
set @name3='李四';
mysql> set @name1='墨菲';
Query OK, 0 rows affected (0.05 sec)
mysql> set @name2='张三';
Query OK, 0 rows affected (0.00 sec)
mysql> set @name3='李四';
Query OK, 0 rows affected (0.00 sec)
|===================================================================
通过execute去执行
命令:execute pre_employee using @name1;
mysql> execute pre_employee using @name1;
+----+------+------+--------+-------+
| id | name | sex | salary | dept |
+----+------+------+--------+-------+
| 13 | 墨菲 | 男 | 8800 | 部门A |
+----+------+------+--------+-------+
1 row in set (0.09 sec)
mysql> execute pre_employee using @name2;
+----+------+------+--------+-------+
| id | name | sex | salary | dept |
+----+------+------+--------+-------+
| 1 | 张三 | 男 | 5500 | 部门A |
+----+------+------+--------+-------+
1 row in set (0.00 sec)
mysql> execute pre_employee using @name3;
+----+------+------+--------+-------+
| id | name | sex | salary | dept |
+----+------+------+--------+-------+
| 7 | 李四 | 男 | 12000 | 部门B |
+----+------+------+--------+-------+
1 row in set (0.00 sec)