MySql教程

Mysql - 会话变量

本文主要是介绍Mysql - 会话变量,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Mysql - Set 命令

作用:
设置一个变量,将数据赋给变量,以后就可以用变量代替数据。
使用:

mysql> set @a=5;

设置之后,就可以用a代替5了。
自然设置的变量可以通过查询语句设置
比如:

mysql> set @sname =(select sname from student where studentno ='18122210009' );
Query OK, 0 rows affected (0.00 sec)

mysql> select studentno ,sname ,birthdate
    -> from student where sname=@sname;
+-------------+-------+------------+
| studentno   | sname | birthdate  |
+-------------+-------+------------+
| 18122210009 | 李健     | 1999-11-05 |
+-------------+-------+------------+
1 row in set (0.01 sec)

Prepared

直接先看例子更容易理解:

mysql> set @a=5;
Query OK, 0 rows affected (0.00 sec)
mysql> prepare STMT
    -> from "select courseno ,cname,type ,period from course limit?";
Query OK, 0 rows affected (0.01 sec)
Statement prepared

mysql> execute STMT using @a;
+----------+--------+------+--------+
| courseno | cname  | type | period |
+----------+--------+------+--------+
| c05109   | C++    | 必修     |     48 |
| c05127   | python | 选修    |     64 |
| c08126   | JAVA   | 必修     |     64 |
+----------+--------+------+--------+
3 rows in set (0.01 sec)

看完例子应该就对这个语句有了大致理解:
事先准备好select语句,对于参数使用 进行占位。使用时直接填充参数即可。
具体步骤:

  1. 使用PREPARE语句准备执行语句,使用问号(?)作为参数占位符。
  2. 使用EXECUTE语句来执行PREPARE代码。

作用:

  1. 提高查询的速度,访问时只需要提交数据,不需要提交sql语句。
  2. 使查询更安全,防止sql注入。
这篇关于Mysql - 会话变量的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!