存储过程入门 博客分类: mysql mysql
程序员文章站
2024-02-25 19:33:57
...
以下sql语法只适用于命令行,不适用于部分的客户端,不同的客户端语法可能有差异。
存储过程:
概念类似于函数,就是把一段代码分装起来,当要执行这一段代码的时候,可以通过调用该存储过程来实现。
在封装的语句体里面,可以用if/else,case,while等控制结构。
可以进行sql编程。
在mysql中,存储过程和函数的区别:
1.名称不同 procedure() function()
2.存储过程没有返回值 return xxx;
查看现有的存储过程(命令行中\G可以横向显示)
show procedure status \G
删除存储过程
drop procedure 存储过程的名字
调用存储过程
call 存储过程名字
命令行中定义分隔符
delimiter $
第1个存储过程,体会“封装sql”
create procedure p1()
begin
select * from stu;
end$
调用:
call p1()$
第2个存储过程,体会“参数”
create procedure p2(n int)
begin
select * from stu where id > n;
end$
调用:
call p2(10)$
第3个存储过程,体会“控制结构”
create procedure p3(n int,j char(1))
begin
if j='h' then
select * from stu where id > n;
else
select * from stu where id < n;
end if;
end$
调用:
call p3(10,h)$
call p3(10,k)$
第4个存储过程,体会“循环”
create procedure p4(n smallint,)
begin
declare i int;
declare s int;
set i = 1;
set s = 0;
while i<= n do
set s = s + i;
set i = i + i;
end while;
end$
调用:
call p4(100)$
存储过程:
概念类似于函数,就是把一段代码分装起来,当要执行这一段代码的时候,可以通过调用该存储过程来实现。
在封装的语句体里面,可以用if/else,case,while等控制结构。
可以进行sql编程。
在mysql中,存储过程和函数的区别:
1.名称不同 procedure() function()
2.存储过程没有返回值 return xxx;
查看现有的存储过程(命令行中\G可以横向显示)
show procedure status \G
删除存储过程
drop procedure 存储过程的名字
调用存储过程
call 存储过程名字
命令行中定义分隔符
delimiter $
第1个存储过程,体会“封装sql”
create procedure p1()
begin
select * from stu;
end$
调用:
call p1()$
第2个存储过程,体会“参数”
create procedure p2(n int)
begin
select * from stu where id > n;
end$
调用:
call p2(10)$
第3个存储过程,体会“控制结构”
create procedure p3(n int,j char(1))
begin
if j='h' then
select * from stu where id > n;
else
select * from stu where id < n;
end if;
end$
调用:
call p3(10,h)$
call p3(10,k)$
第4个存储过程,体会“循环”
create procedure p4(n smallint,)
begin
declare i int;
declare s int;
set i = 1;
set s = 0;
while i<= n do
set s = s + i;
set i = i + i;
end while;
end$
调用:
call p4(100)$
推荐阅读
-
mysql安装、开机启动 博客分类: mysql mysql
-
时间函数 博客分类: mysql mysql
-
存储过程入门 博客分类: mysql mysql
-
linux/centos下忘记mysql密码 博客分类: linuxmysql
-
MySQL gis 判断某个点是否在多边形中 博客分类: gissql gis
-
MySQL存储过程使用实例详解
-
MySql存储过程之逻辑判断和条件控制
-
hibernate保存数据到mysql时的中文乱码问题 博客分类: Hibernate hibernatecharset
-
MySQL5.x处理中文全解 博客分类: 配置技巧数据库 MySQL中文乱码charsetutf8
-
MySQL: Charset and Collation 博客分类: MySQL MySQLCharsetCollationGarbledData Loss