MySQL视图、游标、存储过程简述

视图

  • 基本操作
CREATE VIEW pro AS SELECT c_name, c_con, p_id FROM customers, orders, orderitems WHERE customers.c_id = orders.c_id AND orderitems.o_num = orders.o_num;//创建一个pro视图
SELECT * FROM pro;//从视图中查询数据
SHOW CREATE VIEW viewname;//查看创建视图的语句
DROP VIEW viewname;//删除视图
//更新视图时,可以先用DROP再用CREATE,也可用CREATE OR REPLACE VIEW

视图中的数据在某些条件下是可更新的(INSERT UPDATE DELETE
MySQL不能正确的确定被更新的基数据,则不允许更新:

  1. 分组(GROUP BY 或者HAVING
  2. 联结
  3. 子查询
  4. 聚集函数(Min()Count()Sum()等)
  5. DISTINCT
  6. 导出(计算)列

存储过程

  1. 创建存储过程
CREATE PROCEDURE pro()
BEGIN
SELECT AVG( price) AS average_p
FROM ticketinfo;
END;

在命令行中需要修改语句分隔符

DELIMITER //
CREATE PROCEDURE pro()
BEGIN
SELECT AVG( price) AS average_p
FROM ticketinfo;
END //
DELIMITER ;

创建有参数的存储过程

OUT 变量名 参数类型,//存储过程往外输出
	IN 变量名 参数类型,//往存储过程内输入
	INOUT 变量名 参数类型 //输入和输出
  1. 调用存储过程
CALL pro();//有参数要加上参数在()中  (@param,@param2)
//右参宿的调用时
CALL pro(@param1,@param2);
SELECT @param1,@param2;
  1. 删除存储过程
DROP PROCEDURE 名称;

游标

MySQL中游标只能使用在存储过程或函数中

  • 创建游标
DECLARE 游标名 CURSOR
FOR
查询语句;
  • 打开或关闭游标
OPEN 游标名;
CLOSE 游标名;
  • 使用游标数据
FETCH 游标名 INTO 变量;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值