mysql的存储过程与实务入门

Posted 言止予思

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql的存储过程与实务入门相关的知识,希望对你有一定的参考价值。

存储过程是:
通过一系列的SQL语句, 根据传入的参数(也可以没有), 通过简单的调用, 
完成比单个SQL语句更复杂的功能, 存储在数据库服务器端,只需要编译过一次之后再次使用都不需要再进行编译。主要对存储的过程进行控制。

事务是一系列的数据更改操作组成的一个整体。一旦事务中包含的某操作失败或用户中止,用户可以控制将事务体中所有操作撤消,返回事务开始前的状态。
事务中的操作是一个整体,要么整体完成,要么全部不做。从而保证了数据的完整性。
mysql中,MyISAM存储引擎不支持事务,InnoDB支持。

两者都是数据库中非常重要的知识。

 

一、存储过程

创建一张test1表的存储过程
mysql> delimiter $ -- delimiter $是设置 $为命令终止符号,代替默认的分号,因为分号有其他用处.
mysql> create procedure sp_test1()
-> begin
-> create table test1(id int,name varchar(100));
->insert into test1 values(1,‘lilei‘);
-> select * from test1;
-> end
-> $
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ; //恢复分号作为分隔终止符号

调用存储过程
mysql> call sp_test1();



创建带参数的存储过程
mysql> delimiter $ -- delimiter $是设置 $为命令终止符号,代替默认的分号,因为分号有其他用处.
mysql> create procedure sp_test(IN pi_id int, OUT po_name varchar(10))
-> begin
-> select * from test.tb_test;
-> select tb_test.name into po_name from test.tb_test where tb_test.id = pi_id;
-> end
-> $
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ; -- 恢复分号作为分隔终止符号

5.调用存储过程
mysql> set @po_name=‘‘;
Query OK, 0 rows affected (0.00 sec)
mysql> call sp_test(1,@po_name);

  

 

二、事物

 

以上是关于mysql的存储过程与实务入门的主要内容,如果未能解决你的问题,请参考以下文章

mysql 存储过程入门

MySQL存储过程入门使用

MySQL存储过程入门

MySQL-快速入门存储过程存储函数

Mysql存储过程触发器事件调度器使用入门

Mysql存储过程入门介绍