diff --git "a/14\350\226\233\346\231\226/\344\275\234\344\270\232/9.15\350\247\206\345\233\276\344\275\234\344\270\232.md" "b/14\350\226\233\346\231\226/\344\275\234\344\270\232/9.15\350\247\206\345\233\276\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..a38f89638b0bf89076db3eda70c22a887ba8d5ba --- /dev/null +++ "b/14\350\226\233\346\231\226/\344\275\234\344\270\232/9.15\350\247\206\345\233\276\344\275\234\344\270\232.md" @@ -0,0 +1,16 @@ +View作业 + +1)编写视图实现查询出所有银行卡账户信息,显示卡号,身份证,姓名,余额 + +``` +select * from BankCard + +create view V_non (卡号,身份证,姓名,余额) +as +(select CardNo,AccountCode,RealName,CardMoney +from BankCard b +inner join AccountInfo a on b.AccountId=a.AccountCode) + +select 卡号,身份证,姓名,余额 from V_non +select * from V_non +``` diff --git "a/14\350\226\233\346\231\226/\347\254\224\350\256\260/9.15\350\247\206\345\233\276.md" "b/14\350\226\233\346\231\226/\347\254\224\350\256\260/9.15\350\247\206\345\233\276.md" new file mode 100644 index 0000000000000000000000000000000000000000..901e820854b437c96fe31331121ecc941f1b0c09 --- /dev/null +++ "b/14\350\226\233\346\231\226/\347\254\224\350\256\260/9.15\350\247\206\345\233\276.md" @@ -0,0 +1,70 @@ +### 视图 + +( + +create view + +视图(View):一个或者多个数据表里的数据逻辑显示,**视图并不储存数据**。 + +提前了解 + +数据字典:系统表,存放数据库相关信息的表,系统表的数据通常由数据库系统维护,程序员通常不应该修改,只可查看。 + +约束(Constraint):执行数据校验的规则,用于保证数据完整性的规则。 + +索引(Index):用于提高查询性能,相当于书的目录。 + +储存过程(Procedure):用于完成一次完整的业务处理,**没有返回值**,但可通过传出参数将多个值传给调用环境。 + +触发器(Trigger):相当于一个事件监视器,当**数据库发生特定事件后**,触发器被触发,完成相应的处理。 + +存储函数(Function):用于完成一次特定的计算,**具有一个返回值** + +) + +#### 2.视图概述 + +![image-20220913160441573]() + +##### 2.1为什么要使用视图(解决字段敏感)(控制权限) + +使用场景 employees 表 + +员工管理员维护数据库,当部分数据属于隐私或等级不适时 + +1、复制表 新表,当数据更新时,不会与之前的主表发生同步,主表无法修改,维护失败。 + +2、create view 创建视图 as employees select (创建表employees视图 select 后跟当前权限数据) + + 得以实现修改数据与主表联系(是直接修改 employees表内数据)**==视图不存储数据==**,在不涉及隐私或权限过高的数据下进行维护。 + +##### 2.2视图的理解 + +视图是一种==虚拟表==,本身==不具有数据==,占用空间小,是sql中的一个重要概念 + +**视图建立在已有表的基础上**,视图赖以建立的这些表被称为**基表** + +![image-20220913162334569]() + +视图的创建和删除只影响视图本身,不影响对应的基表。但是当对视图中的数据进行修改、增加、删除操作时,数据表中的数据会相应地发生变化,反之亦然。 + +向视图提供数据内容的语句为select 语句,可以将视图理解为==储存起来的select语句== + +#### 3.创建视图 + +在create view语句中嵌入子查询 + +``` +create [or replace] +[algorithm={undefined|merge|temptable}] +view 视图名称[(字段列表)] +as 查询语句 +[with[cascaded|local]check option] +``` + +精简版 + +``` +create view 视图名称[(字段列表)] +as 查询语句 +```