存储过程
其实就是mysql语句组成的脚本,也就是数据库中保存的一系列SQL命令的集合。
可以使用变量,条件判断,流程控制等
| 提高性能 | 减轻网络负担 | 可以防止对表的直接访问 | 避免重复编写SQL操作 |
创建过程
语法格式:
delimiter // //delimiter 关键字用来指定存储过程的分隔符,默认为\'\';\"
create procedure 名称() 若不指定,编译器会把存储过程当成SQL语句进行处理,从而执行报错
begin
.... 功能代码
end
// //结束存储过程
mysql> delimiter // //指定分隔符//
mysql> create procedure db9.p1()
-> begin
-> select count(*) from db9.user;
-> end
-> //
Query OK, 0 rows affected (0.02 sec)
查看存储过程
1. mysql> show procedure status;
2. mysql> select db,name,type from mysql.proc where name=\"存储过程名\";
mysql> select db,name,type from mysql.proc where name=\"p1\";
+-----+------+-----------+
| db | name | type |
+-----+------+-----------+
| db9 | p1 | PROCEDURE |
+-----+------+-----------+
1 row in set (0.00 sec)
调用/删除存储过程
call 存储过程名(); //存储过程无参数,()可以省略;存储过程有参数,调用时必须传给参数
mysql> call db9.p1() // //调用存储过程
+----------+
| count(*) |
+----------+
| 42 |
+----------+
1 row in set (0.01 sec)
Query OK, 0 rows affected (0.01 sec)
mysql> delimiter ;
mysql> call db9.p1();
+----------+
| count(*) |
+----------+
| 42 |
+----------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
drop procedure 存储过程名;
mysql> drop procedure db9.p1;
Query OK, 0 rows affected (0.00 sec)
mysql> select db,name,type from mysql.proc where name=\"p1\";
Empty set (0.00 sec)
继续阅读与本文标签相同的文章
上一篇 :
华为高管:5G不是万能的!
下一篇 :
ITSS模型适用于哪些模式评估呢?
-
日本“老婆机器人”被抢购一空!用户满意度极高:听话且百依百顺
2026-05-18栏目: 教程
-
2019亚洲国际物流技术与运输系统展览会期待您的到来
2026-05-18栏目: 教程
-
数码人荣获2019年数据中心科技成果奖
2026-05-18栏目: 教程
-
北京市消协:教你一眼看穿互联网消费捆绑搭售的隐蔽花样
2026-05-18栏目: 教程
-
什么是人工智能?人工智能工程技术人员都做什么?
2026-05-18栏目: 教程
