MySql基础教程二(视图,存储过程,游标,触发器,事务,权限,数据类型)

我的学习资料是《MySQL必知必会》,被称为sql入门经典,PDF版下载点我。
相关链接:
MySql基础教程一(查询,插入,更新,删除,创建)

视图

视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。比如下面的语句:

select cust_name, cust_contact from customers, orders, orderitems 
where customers.cust_id=orders.cust_id and 
orders.order_num=orderitems.order_num and
orderitems.prod_id='TNT2';

如果使用视图,可以将整个查询包装成一个名为productcustomers的虚拟表,则采用下面的查询即可得到相同的结果:

select cust_name, cust_contact from productcustomers where prod_id='TNT2';

这就是视图的作用,productcustomers是一个视图,作为视图,它不包含表中应该有的任何数据,它包含的是一个sql查询。创建上述视图的方法:

create view productcustomers as
select cust_name, cust_contact, prod_id from customers, orders, orderitems
where customers.cust_id=orders.cust_id and orderitems.order_num=orders.order_num;

在视图创建之后,可以用与表基本相同的方式利用它们。可以对视图进行select操作,过滤和排序操作,将视图联接到其他视图或表,甚至能添加和更新数据,但是更新一个视图将更新其基表,尽量将视图用于检索,而不是更新
使用show create view viewname; 来查看视图;用drop删除视图,其语法为drop view viewname;。更新视图时,可以先用drop,再用create,也可以使用create or replace view

视图的好处:
1,重用sql语句;
2,简化复杂的sql操作。在编写查询后,可以方便的重用它而不必知道它的基本查询细节;
3,使用表的组成部分而不是整个表;
4,保护数据。可以给用户授予表的特定部分的访问权限而不是整个表的访问权限;
5,更改数据格式和表示,视图可返回与底层表的表示和格式不同的数据;

存储过程

很多时候,一个完整的操作需要多条语句才能完成,存储过程就是为以后的使用而保存的一条或多条mysql语句的集合。并且运行速度快,可将其视为批文件、函数。

DELIMITER $
CREATE PROCEDURE ordertotal(
    IN onumber INT,
    IN taxable BOOLEAN,
    OUT ototal DECIMAL(8,2)
) COMMENT 'Obtain order total'
BEGIN
    -- Declare variable.
    DECLARE total DECIMAL(8,2);
    DECLARE t
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值