还剩31页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《SQL的视图操作》PPT课件•SQL视图概述•创建SQL视图目录•修改SQL视图•删除SQL视图•使用SQL视图01SQL视图概述视图定义视图定义视图是一个虚拟的表,它是基于SQL查询的结果集它不存储实际数据,只是保存了查询语句,每次使用视图时都会根据查询语句动态生成结果集视图与表的关系视图是依赖于表的,它所显示的数据来源于基表当基表的数据发生变化时,视图中的数据也会相应地更新视图的作用简化复杂查询提高安全性定制数据展示通过视图可以将复杂的查询语句通过视图可以限制用户对基表中通过视图可以定制数据的展示方封装起来,使用户只需要简单地某些敏感列的访问,从而保护数式,例如可以将不同的列进行组查询视图就可以得到所需的结果,据的安全合、筛选、排序等操作,以适应而不需要了解背后的复杂查询语不同的业务需求句视图的分类单表视图基于单个表的查询结果集创建的视图多表视图基于多个表的查询结果集创建的视图关联视图基于多个表的关联查询结果集创建的视图计算列视图在视图中包含计算列的视图,这些计算列的值是根据基表中的列计算得出的02创建SQL视图基本语法视图名称在创建视图时需要指定一个唯一的名称创建视图的语句格式CREATE VIEWview_name ASSELECT column1,column2,...FROM视图条件table_name WHEREcondition;在WHERE子句中指定筛选条件,以限制视图中包含的行视图列在SELECT语句中指定要包含在视图中的列创建视图的约束视图名称的约束列名的约束视图名称必须符合数据库的命名规则,并且视图中的列名必须唯一,不能与表中的列名不能与表名冲突冲突数据类型的约束视图的更新限制视图中的数据类型必须与表中相应列的数据不是所有的视图都可以被更新,有些视图只类型一致能被查询,不能被修改创建视图的示例•创建一个名为EmployeesView的视图,包含Employee表中的所有员工信息创建视图的示例SELECT*FROMEmployee;03CREATE VIEWEmployeesViewAS02```sql01创建视图的示例```创建一个名为HighSalaryEmployeesView的视图,包含Employee表中工资高于5000的员工信息创建视图的示例01```sqlCREATE VIEW02HighSalaryEmployeesView ASSELECT*FROM EmployeeWHERE03Salary5000;04```03修改SQL视图修改视图的语法语法格式ALTER VIEWview_name ASSELECTcolumn1,column2,...FROM table_name WHEREcondition;说明使用ALTER VIEW语句修改视图,需要指定要修改的视图名称,并使用AS关键字后跟SELECT语句来定义新的视图内容修改视图的示例示例1修改视图的列修改前的视图定义CREATE VIEWview_employees ASSELECT employee_id,first_name,last_nameFROM employees;修改后的视图定义ALTER VIEWview_employees ASSELECT employee_id,first_name,last_name,hire_date FROMemployees;修改视图的示例说明在修改后的视图中增加了hire_date列示例2修改视图的筛选条件修改前的视图定义CREATE VIEWview_managers ASSELECT employee_id,first_name,last_name FROMemployeesWHERE position=Manager;修改视图的示例修改后的视图定义说明VS修改视图需要注意的事项01确保修改后的视图定义是正确的,并且不会影响到其他依赖于该视图的查询或应用程序02在修改视图之前,最好备份相关的数据库对象,以防意外情况发生03在修改视图时,需要具有足够的权限,否则可能会遇到权限不足的错误04删除SQL视图删除视图的语法删除视图的语法是使用`DROP VIEW`语句,后面跟上要删除的视图的名称例如,要删除名为`view_name`的视图,可以使用以下语句`DROPVIEW view_name;`删除视图的示例假设我们有一个名为要删除这个视图,可以使用以下语句`employee_view`的视图,它显示了`DROP VIEWemployee_view;`所有员工的姓名和工资VS删除视图需要注意的事项在执行删除操作之前,最好先备份相关的数据和对象,以防意外删除重要信息在删除视图之前,需要确保没有任何其他对象(如表、存储过程等)依赖于该视图如果有其他对象依赖于该视图,那么删除该视图将会导致错误在删除视图之前,需要具有足够的权限如果没有足够的权限,将会导致删除操作失败05使用SQL视图使用视图的优点提高查询效率简化复杂查询通过只查询需要的列,视图可以减少数据传将复杂的查询逻辑封装在视图中,可以简化输量,提高查询效率后续的查询操作数据安全性提高数据抽象层次通过视图,可以限制用户对基础数据的访问视图可以隐藏底层数据的细节,提高数据抽权限,保证数据的安全性象层次,使得上层应用开发更加便捷使用视图的注意事项性能考量虽然视图可以提高查询效率,但如果视图的结构过于复杂,可能会影响查询性能因此,需要权衡视图的复杂度和查询性能更新限制视图的定义可能包含不可更新的子查询或者多表连接等操作,这可能导致视图不可更新在使用视图时,需要注意其可更新性文档管理随着业务需求的变化,视图的结构可能需要调整因此,需要做好视图的版本控制和文档管理工作命名规范为了便于管理和维护,需要遵循统一的命名规范,为视图命名使用视图的示例•创建视图创建一个视图,展示销售表中销售额大于1000的记录使用视图的示例```sqlCREATE VIEWsales_over_1000ASSELECT*FROM salesWHERE amount1000;使用视图的示例```查询视图通过视图查询销售额大于1000的记录使用视图的示例```sql SELECT*FROM sales_over_1000;使用视图的示例```更新视图向视图中插入一条新的销售记录使用视图的示例01```sql02INSERT INTOsales_over_1000id,amountVALUES1,1200;03```感谢观看THANKS。