mysql怎么查看触发器 mysql查看触发器创建语句( 四 )


statement_list
END WHILE [end_label]
WHILE 语句内的语句或语句群被重复,直至 search_condition为真 。
运用实例
下面通过几个例子来讲述他们的应用:
对网站用户的操作
为了简单,用户表只有用户名和密码的信息.在服务端 , 我们建立如下的表:
代码片段
Drop table if exists user;
Create table user(
Id int unsigned not null auto_increment,
Name varchar(20) not null,
Pwd char(32) not null,
Primary key(Id)
);
添加用户的存储过程:
代码片段
Delimiter //
Create procedure insertuser(in username varchar(20),in userpwd varchar(32))
Begin
Insert into welefen.user(Name,Pwd) values (username,md5(userpwd));
End
//
验证用户的存储过程:
代码片段
Delimiter //
Create procedure validateuser(in username varchar(20),out param1)
Begin
Select Pwd into param1 from welefen.user where Name=username;
End
//
修改密码的存储过程:
代码片段
Delimiter //
Create procedure modifyPwd(in username varchar(20),in userpwd varchar(32))
Begin
Update welefen.user set Pwd=md5(userpwd) where Name=username;
End
//
删除用户的存储过程:
代码片段
Delimiter //
Create procedure deleteuser(in username varchar(20))
Begin
delete from welefen.user where Name=username;
End
//
在客户端 , 我们给出如下的程序:
代码片段
文件名:ProcedureUser.php
?php
if (!mysql_connect("localhost","root","welefen")){
echo "连接数据库失败";
}
if (!mysql_select_db("welefen")){
echo "选择数据库表失败br";
}
$insert_user=array("welefen","welefen");//这里的welefen分别为用户名、密码
if (mysql_query("call insertuser('$insert_user[0]','$insert_user[1]')")){
echo "添加用户$insert_user[0]成功br";
}else {
echo "添加用户$insert_user[0]失败br";
}
$validate_user=array("welefen","welefen");//这里的welefen分别为用户名、密码
mysql_query("call validateuser('$validate_user[0]',@a)");
$Pwd=mysql_query("select @a");
$result=mysql_fetch_array($Pwd);
if ($result[0]==md5($validate_user[1])){
echo "用户$validate_user[0]验证正确br";
}else {
echo "用户$validate_user[0]验证错误br";
}
$modify_Pwd=array("welefen","weilefeng"); //welefen为用户名weilefeng为新密码
if (mysql_query("call modifyPwd('$modify_Pwd[0]','$modify_Pwd[1]')")){
echo "用户$modigy_Pwd[0]的密码修改成功br";
}else {
echo "用户$modigy_Pwd[0]的密码修改失败br";
}
$delete_user=array("welefen");//welefen为用户名
if (mysql_query("call deleteuser('$delete_user[0]')")){
echo "用户$delete_user[0]删除成功br";
}else {
echo "用户$delete_user[0]删除失败br";
}
?
程序运行的结果:
执行结果
添加用户welefen 成功
用户welefen 验证正确
用户welefen 的密码修改成功
用户welefen 删除成功
以上的这个程序简单的说明了Mysql 中的存储过程结合PHP 的应用,当然在实际应用要比这个
复杂的多 。
验证角谷猜想
角谷猜想:给定一个整数x,若x%2=1,则x=3*x+1 , 否则x=x/2,如此循环下去 , 经过有限步骤必
能得到1 。
例如:初始整数为9,则
9-28-14-7-22-11-34-17-52-26-13-40-20-10-5-16-8-4-2-1
为了说明存储过程中一些语法的应用,我们通过存储过程来实现它:
执行结果
mysql delimiter //
mysql create procedure jgguess(in number int)
- begin
- declare param1 int default 1;

推荐阅读