视图的修改与删除
使用视图使用视图进行数据检索01视图的查询总是转换为对它所依赖的基本表的等价查询。利用SQL的SELECT命令和Navicat都可以对视图进行查询,其使用方法与基本表的查询完全一样。通过视图修改数据02视图也可以使用INSERT命令插入行,当执行INSERT命令时,实际上是向视图所引用的基本表插入行。视图中的INSERT命令与在基本表中使用INSERT命令的格式完全一样。
使用视图【例1】利用V1_student视图向表student中插入一条数据CREATEVIEWV1_studentASSELECTsno,sname,saddressFROMstudent;【例2】将例6.5中插入的数据删除DELETEFROMV1_studentWHEREsname=王小龙;INSERTINTOV1_studentVALUES(2005020301,王小龙,山东省临沂市);
使用Navicat修改视图01视图的修改展开服务器,展开数据库单击【视图】节点,用鼠标右键单击要修改的视图名称,在快捷菜单中选择【设计视图】命令,进入视图设计窗口,用户可以在这个窗口中对视图进行修改
使用SQL语句修改视图02视图的修改语法格式:ALTERVIEWview_name[(Column[,…n])]ASselect_statement[WITHCHECKOPTION];【例3】修改例6.5中的视图V1_studentALTERVIEWV1_studentASSELECTsno,snameFROMstudent;
使用Navicat删除视图01视图的删除在当前数据库中展开【视图】节点用鼠标右键单击要删除的视图(如V1_student),在弹出的快捷菜单中选择【删除视图】命令;或单击要删除的视图,然后单击上方的【删除视图】按钮在弹出的【确认删除】对话框中单击【删除】按钮即可
使用SQL语句删除视图02视图的删除语法格式:DROPVIEW{view}[,…n];【例4】删除视图V1_studentDROPVIEWV1_student;
使用视图优化查询性能针对本任务提出中的问题,王宁使用SQL语句创建视图来解决,具体实现代码如下。(1)使用CREATEVIEW语句创建视图。CREATEVIEWview_stuandscASSELECTsname,a.sno,classno,degreeFROMstudenta,scb,coursecWHEREa.sno=b.snoANDb.cno=c.cnoANDcname=高等数学ANDdegreeBETWEEN80AND90;(2)使用SELECT语句查询view_stuandsc。SELECT*FROMview_stuandsc;
使用视图优化查询性能【思政小贴士】当删除不存在的表、视图、存储过程、函数、触发器时,会提示“UnknownXXX”,根据提示解决即可。但是SQL经常会被嵌入到高级程序设计语言中,如C、Java、Python语言。这样,我们就必须保证每次编译和运行都能够正常进行,因此需要加入IFEXISTS子句来提高程序的健壮性随着学习的深入和知识的积累,我们还应该学会梳理各科专业课程之间的关联,综合运用,提高业务处理能力