MySQL预处理(绑定变量),基本操作

本节目标

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)
发布了82 篇原创文章 · 获赞 19 · 访问量 4635

猜你喜欢

转载自blog.csdn.net/ABCisCOOL/article/details/105448387