mysql存储过程基本使用:

存储过程介绍

• 什么存储过程

– 数据库中保存的一系列 sql 命令的集合

– 编写存储过程时,可以使用变量、条件判断、流程控制等

– 存储过程,就是 MySQL 中的脚本

 

存储过程优点

• 存储过程优点

 

– 提高性能

– 可减轻网络负担      //编译执行

– 可以防止对表的直接访问

– 避免重复的 sql 操作

 

mysql 服务过程的脚本

变量

流程控制

参数

 

基本使用:

创建存储过程:

mysql> delimiter //

mysql> create procedure p1()

    -> begin

    -> select count(name) from db9.user;

    -> end 

    -> //

Query OK, 0 rows affected (0.01 sec)

 

查看存储过程:

方法一:

mysql> show procedure status\G;

方法二:

mysql> select db,name,type from mysql.proc where name="p1"\G;

*************************** 1. row ***************************

  db: db9

name: p1

type: PROCEDURE

1 row in set (0.00 sec)

 

ERROR: 

No query specified

 

调用存储过程:

mysql> call p1;

+-------------+

| count(name) |

+-------------+

|          41 |

+-------------+

1 row in set (0.00 sec)

 

Query OK, 0 rows affected (0.00 sec)

 

mysql> call p1();

+-------------+

| count(name) |

+-------------+

|          41 |

+-------------+

1 row in set (0.00 sec)

 

Query OK, 0 rows affected (0.00 sec)

 

删除存储过程:

mysql> drop  procedure p1;

Query OK, 0 rows affected (0.00 sec)

mysql> drop procedure if exists say;

 

做一个存储过程,查看use表的shell的个数

mysql> delimiter //

mysql> create procedure p2()

    -> begin

    -> select count(name) from user where shell="/bin/bash";

    -> end

    -> //

Query OK, 0 rows affected (0.00 sec)

 

mysql> delimiter ;

mysql> call p2();

+-------------+

| count(name) |

+-------------+

|           2 |

+-------------+

1 row in set (0.00 sec)

 

Query OK, 0 rows affected (0.00 sec)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维螺丝钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值