MySQL基本操作(五)视图、存储过程、游标、触发器、事务处理

本文详细介绍了MySQL中的视图使用,包括简化复杂的联结、数据格式化、数据过滤和更新视图。接着讲解了存储过程的创建、删除、使用参数及检查。接着探讨了游标的声明、打开、关闭和数据检索。进一步讨论了触发器的创建、删除、应用,以及INSERT、DELETE、UPDATE触发器的用法。最后,概述了事务处理的概念,包括回退、提交、保留点和自动提交行为的控制。
摘要由CSDN通过智能技术生成

视图、存储过程、游标、触发器、事务处理

1、视图

1.1 利用视图简化复杂的联结

-- 创建名为productcustomers的视图
CREATE VIEW productcustomers AS 
SELECT cust_name,cust_contact,prod_id
FROM customers,orders,orderitems
WHERE customers.cust_id=order.cust_id
AND orderitems.order_num=order.order_num;
--通过WHERE子句从视图中检索特定数据
SELECT cust_name,cust_contact
FROM productcustomers
WHERE prod_id='TNT2';
  • 查看创建视图的语句-SHOW CREATE VIEW viewname ;
  • 删除视图-DROP VIEW viewname;
  • 更新视图-可以先用DROP再用CREATE,也可以直接用CREATE ORREPLACE VIEW;
  • ORDER BY可以用在视图中,但如果从该视图检索数据的SELECT语句中也含有ORDER BY,那么该视图中的 ORDER BY将被覆盖

1.2 用视图重新格式化检索出的数据

--创建视图
CREATE VIEW vendorlocationS AS
SELECT Concat(RTrim(vend_name),'(',RTrim(vend_country),')')
AS vend_title
FROM vendors
ORDER BY vend_name;
--检索数据
SELECT *
FROM vendorlocation;

1.3 用视图过滤不想要的数据

--创建视图
CREATE VIEW customeremaillist AS
SELECT cust_id,cust_name,cust_email
FROM customers
WHERE cust_email IS NOT NULL;
--检索数据
SELECT *
FROM customeremaillist;
  • 如果从视图检索数据时使用了一条WHERE子句,则两组子句(一组在视图中,另一组是传递给视图的)将自动组合。

1.4 使用视图与计算字段

--创建视图
CREATE VIEW orderitemsexpanded AS
SELECT order_num,
       prod_id,
       quantity,
       item_price,
       quantity*item_price AS expanded_price
FROM orderitems;
--检索数据
SELECT *
FROM orderitemsexpanded
WHERE order_num
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值