AI智能
改变未来

MySQL存储过程


MySQL存储过程

增、删、改、查

  • 普通查询

  • 联表查询

  • 子查询

目的:类似在存储单元中写入函数,在实际使用的过程中,重复这些函数,提高代码的复用率,增加效率。

以及一定程度上防范SQL注入

存储过程如何书写?

1、更改我们MySQL的语句结束符;,把它改成其他的符号

语法:delimiter自定义符号

自定义符号建议使用$$ //

如:delimiter //

2、创建存储过程(当成写个函数)

语法:

create procedure 存储过的名称(in 列名称 属性[约束])begin#具体的,正常的以分号结尾的SQL语句select * from xxx;end//

示例:

create procedure myFunc(in num1 int)beginselect num1+10 as result;end//

3、调用存储过程,就类似于调用函数

语法:call 存储过程name(参数)

– 如:

call myFunc(2)//

4、显示存储过程 创建的详细信息

语法:show create procedure 名称 //

5、删除

语法:drop procedure 名称 //

===== ===== 使用变量=============

使用@符合

1、select ‘hello’ into @x

2、set @y=‘world’

============= 存储过程的参数形式==============

create procedure myFunc(in num2 int)

这个in位置可以有三个情况

  • in 输入参数。外部输入的值,内部修改后不影响外部,不能被返回

  • out 输出参数。可以在存储过程中改变,并可以返回

  • inout 可输入可输出。调用时指定,并可以修改与返回

例如:

create procedure myOne(in var2 int)beginselect var2;select var2=20;select var2;end//set @c=10cell myOne(@c)
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » MySQL存储过程