MySQL存储过程学习入门笔记

1、存储过程(Stored Procs)

存储过程就是包含一系列sql语句的集合,完成一个复杂的功能。

存储过程可以被反复使用,使用效率非常高。

---------------------------------这是一个简单的存储过程例子------------------------------------------------

DELIMITER $$   --将原来的";"这个定界符替换为"$$"-------------------------------------------------

CREATE PROCEDURE show_address()    --show_address存储过程名称

BEGIN   --开始

          UPDATE student SET address = '广州' WHERE NAME = '深圳';   

          SELECT *FROM student WHERE address = '深圳';

END  $$  --结束

DELIMITER ;  --存储过程定义之后恢复原来的定界符";"

------------------------------------------------------------------------------------

------------调用存储过程-----------

CALL show_address;

-------------------------------------------

2、触发器

触发器是一个特殊的存储过程,触发器的执行不是由程序的调用,也不是手动执行,而是由事件触发的。

触发器经常被用在加强数据的完整性约束和业务规则。

在MySQL中,触发器可以在执行INSERT、UPDATE或者DELETE时,执行一些特定的操作。

-------------------------------这是一个触发器简单例子----------------------------------------

--在student表里面插入一条记录的时候在student_totals表里将total字段的值加1

-----没有student_tatals表时先创建它,并给total字段赋一个初始值0

CREATE TABLE student_totals(total INT)

VALUES(0);

SELECT * FROM student_totals;

-------------------------------------------------------------------------------------------------------

INSERT INTO student(NAME,age,sex,address)

VALUES('小明',22,'男','广州')

------------------触发器------------------------------------------------------------------------

DELIMITER $$

CREATE TRIGGER student_insert_trigger

AFTER INSERT ON student FOR EACH ROW

BEGIN

          UPDATE student_totals SET total = total+1;

END $$

DELIMITER ;

------------------------------------------------------------------------------------------------------

猜你喜欢

转载自blog.csdn.net/u012002125/article/details/81709788