MySQL触发器应用与其存储过程的实际操作

以下的文章主要描述的是MySQL触发器的实际应用与其存储过程的实际操作,以下的文章将会给你提供相应的详细方案讲解,以下就是相关内容的具体描述。希望会给你带来一些帮助在此方面。

触发器:

MySQL数据库创建触发器的格式如下:

create trigger <触发器名称>

{ before | after}

 

{insert | update | delete}

 

on <表名>

 

for each row

 

<触发器SQL语句>

 

 

<触发器SQL语句>:触发器要执行的SQL语句,如果该触发器要执行多条SQL语句,要将多条语句放在begin…end块中。

Show triggers 显示所有的触发器信息!

 

存储过程:

 

创建 

  1. DELIMITER $$  
  2. DROP PROCEDURE IF EXISTS `test`.`outprint`$$  
  3. CREATE PROCEDURE print1(out a varchar(100))  
  4. BEGIN  
  5. select name from info into a;  
  6. END$$  
  7. DELIMITER ;  

调用

  1. Call print1(@c);  
  2. Select @c;  

注意

这样传值只能查找一个值赋给a

Select * from info into a就错了

Show create {procedure | function } 名字

 

查看存储过程和函数

 

Drop {procedure | function} [if exists] 名字

 

Alter {procedure | function} 名字

 

 

注意:通过 begin end 可以来包含多个语句,每个语句以“;”结尾。

 

 

创建插入

  1. DELIMITER $$  
  2. DROP PROCEDURE IF EXISTS `test`.`insert_info`$$  
  3. CREATE DEFINER=`root`@`%` PROCEDURE `insert_info`(in id int(5),in name varchar(50),in age int(5))  
  4. begin  
  5. insert into info values (id,name,age);  
  6. end$$  
  7. DELIMITER ;  

调用

 

  1. call insert_info(2,'rrr',56); 

 

创建插入输出(验证密码用)

 

  1. Delimiter $$   
  2. Create procedure validateuser  
  3. (in username varchar(20),out param1 varchar(100))   
  4. Begin   
  5. Select Pwd into param1 from welefen.user   
  6. where Name=username;   
  7. End $$ 

 

调用

 

 

  1. call check1('sss',@pw);  
  2. select @pw; 

验证角谷猜想

 

角谷猜想:给定一个整数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

 

为了说明存储过程语法的应用,存储过程来实现它:

 

创建存储过程:

  1. delimiter $$  
  2. drop procedure if exists jgguess$$  
  3. create procedure jgguess(in number int)   
  4. begin   
  5. declare param1 int default 1;   
  6. set @a=concat(number);   

jiaogu:loop #循环开始

set param1=number%2;

if param1=1 then set number=number*3+1; #number 为奇数,将它乘3加 1

else set number=number/2;

end if;

set @a=concat(@a,’->’,number);

if number>1 then iterate jiaogu; #number 不为 1,继续循环

else

leave jiaogu; #退出循环

  1. end if;  
  2. end loop jiaogu;   
  3. end $$   
  4. delimiter ;  

 

调用:

  1. call jgguess(9);  
  2. select @a;  

 

 

以上的相关内容就是对MySQL中触发器和存储过程的介绍,望你能有所收获。

 

【编辑推荐】

  1. MySQL触发器如何正确使用
  2. MySQL修改root密码并不难
  3. 恢复MySQL数据库root密码2方案
  4. MySQL数据表中字段的批量修改与复制
  5. MySQL查询优化的5个好用方法

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/273509.html<

(0)
管理的头像管理
上一篇2025-05-09 07:30
下一篇 2025-05-09 07:32

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注