数据库之高级操作(视图触发器事务存储过程索引)

Posted 846617819qq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库之高级操作(视图触发器事务存储过程索引)相关的知识,希望对你有一定的参考价值。

一 视图

什么是视图?

  视图是由一张表或多张表的查询结果构成的一张虚拟表。

为什么要有视图?

  将复杂常用的查询结果保留下来重复使用。(将一张大表拆分成很多小表)

语法:create view 视图名[(查询字段的名字们)] as (查询语句)

eg1:建立一张emp表的视图表(数据与emp一致)

create view new_emp as (select * from emp);

注意:1.查询的字段们要与查询语句的查询字段对应

   2.create or replace :视图没有则被创建,有则被替换

eg2:利用替换修改是视图表,要求为new_emp中只有id、name字段

create or replace view new_emp(id,name)as (select id,name from emp);
+----+----------+
| id | name     |
+----+----------+
|  1 | egon     |
|  2 | yanghuhu |
|  3 | sanjiang |
|  4 | owen     |
|  5 | liujie   |
|  6 | yingjie  |
+----+----------+

视图的修改

alter 等价于 create or replace,这两个语句语法一致

eg3:利用alter修改是视图表,要求为new_emp中有id、name、salary字段

alter view new_emp(id,name,salary) as (select id,name,salary from emp);
+----+----------+--------+
| id | name     | salary |
+----+----------+--------+
|  1 | egon     |      3 |
|  2 | yanghuhu |      2 |
|  3 | sanjiang |     10 |
|  4 | owen     |  88888 |
|  5 | liujie   |      8 |
|  6 | yingjie  |    1.2 |
+----+----------+--------+

视图中的字段操作(注意:不允许alter操作字段)

alter table new_emp rename new_emp1;
alter view new_emp modify id tinyint;
两个都会报错,因此视图中的字段无法操作。

视图中记录的操作:等价于普通表,完成增删改查,操作的是实体表即改是视图表的数据不会随着表(数据库表)的更新而变化,除非重新创建。

视图的删除:

drop view 视图名;

视图表(虚拟表)的作用:用于数据库中表的查询。

 二 触发器

以上是关于数据库之高级操作(视图触发器事务存储过程索引)的主要内容,如果未能解决你的问题,请参考以下文章

MSSQL 事务,视图,索引,存储过程,触发器

MySQL高级篇——索引视图存储过程和函数触发器的相关概念及操作

pymysql增删改查视图触发器事务存储过程内置函数流程控制索引理论

pymysql增删改查视图触发器事务存储过程内置函数流程控制索引理论

mysql之视图触发器事务存储过程函数

mysql-高级功能(触发器存储过程视图事务)