当前位置:   article > 正文

【数据库】视图,触发器,存储过程_mysql函数、视图、触发器、储存过程的关键字是什么

mysql函数、视图、触发器、储存过程的关键字是什么

数据库笔记 day04

2019/8/23 周五
学习内容:视图,触发器,存储过程,变量,if else语句,范式
关键字:create view;describe;select;drop;delimiter ; create trigger;before;after;new ;old ;create procedure;in;out;call;set @;if then else;


视图

  • What:试图(view)是一个虚拟表,可以从数据库中的一个或者多个表中导出来(也可以在已经存在的视图的基础上定义)。视图本身并不包含任何数据,只是一种映射,其本质是封装了一条查询语句。
  • Why:视图可以用来封装复杂的sql语句,也可以对机密数据提供安全保护。
  • How:如何使用视图?
1. 创建视图:create view

语法:CREATE VIEW 视图名 AS 查询语句
下段代码为制作一个给销售人员看的商品视图,连接了商品类型表和商品表,包含商品名称,出售价格,商品的类型,产地信息

create view view_sellset as
select c.c_name as 商品名称, c.c_madein as 商品产地, ct.ct_name as 商品类型, c.c_outprice as 商品售价
from commodity as c inner join commoditytype as ct on c.c_type=ct.ct_id
where c.c_outprice is not null; # 过滤掉没有售价的商品
  • 1
  • 2
  • 3
  • 4

创建视图时,可以给原来数据表中的字段设置显示新的名称,用as关键字

2. 查看视图信息

(1)DESCRIBE 视图名;

查看视图的基本信息

describe view_sellset;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| 商品名称 | varchar(50) | NO   |     | NULL    |       |
| 商品产地 | varchar(50) | NO   |     | NULL    |       |
| 商品类型 | varchar(50) | NO   |     | NULL    |       |
| 商品售价 | int(11)     | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.12 sec)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

(2)SHOW TABLE STATUS LIKE ‘视图名’;
查看视图基本信息,但在这个案例中尝试,显示出来的信息除了视图名之外,其他属性全是null

(3)SHOW CREATE VIEW 视图名;
查看视图的详细信息,可以显示出创建视图时写的语句

3. 查看视图里的详细数据:select

查看视图信息与查看数据表中的信息一样,使用select关键字

select * from view_sellset;
  • 1

输入上面的查询命令,得到的结果为MySQL拼接好的视图(后面省略)

+-----------------------+---------+----------+---------+
| 商品名称               | 商品产地 | 商品类型 | 商品售价 |
+-----------------------+---------+----------+---------+
| 变形金刚-擎天柱        | 中国     | 玩具     |      50 |
| 变形金刚-霸天虎        | 中国     | 玩具     |      45 |
·······
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
4. 更新视图

视图像表一样有插入、修改、删除表中数据的操作,用法与表的操作一样,使用insert into、update和delete关键字。下面试一下修改数据

update view_sellSet set 商品售价=20 where 商品名称='变形金刚-擎天柱';
  • 1

因为视图是一个虚拟表,对视图的增删改操作,实际上是对其基本表的增删改,重新查

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/653699
推荐阅读
相关标签
  

闽ICP备14008679号