pc网站制作公司,哈尔滨建设规划局网站,个人门户网站模板,定制网站案例「前言」文章内容大致是MySQL事务管理。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 视图1.1 视图概念1.2 创建视图1.3 修改互相影响1.4 删除视图1.5 视图规则和限制 视图
1.1 视图概念
视图是一个虚拟表#xff0c;其内容由查询定义同真实的表一样… 「前言」文章内容大致是MySQL事务管理。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 视图1.1 视图概念1.2 创建视图1.3 修改互相影响1.4 删除视图1.5 视图规则和限制 视图
1.1 视图概念
视图是一个虚拟表其内容由查询定义同真实的表一样视图包含一系列带有名称的列和行数据视图的数据变化会影响到基表原始的表基表的数据变化也会影响到视图
注意这里的视图与上一篇的Read View没有任何关系
1.2 创建视图
准备测试表雇员信息表 假设要查询每个员工及其对应的部门名称时需要使用员工表和部门表进行多表查询并筛选出员工的部门号等于部门的部门号的记录
select ename, dname from emp,dept where emp.deptnodept.deptno;如果该查询结果会被频繁用到那我们就可以给上述查询结果创建视图
创建视图语法如下
create view 视图名 as select语句;注创建视图时会先执行select语句然后用查询得到的结果来创建视图
例如给上面的表创建视图
create view myview as select ename, dname from emp,dept where emp.deptnodept.deptno;也是通过show命令查看该表 视图创建在数据库对应的目录下会增加一个对应的xxx.frm文件但并没有与之对应的xxx.ibd文件这也证明了视图和基表使用的是同一份数据 查询视图
1.3 修改互相影响 修改基表影响视图 在emp表修改名为“CLARK”的名字改为小写“clark” 修改后再查询视图发现视图里面的内容也跟着修改了 修改视图影响基表 在视图里面修改名为“SIMTH”的名字改为小写“smith” 再查询emp表发现内容也跟着被修改了 上述实验说明视图与基表共用一份相同的数据
1.4 删除视图
删除视图语法如下
drop view 视图名;比如将刚才创建的视图删除后在数据库中就看不到这个视图了
1.5 视图规则和限制
与普通表一样视图的命名也必须是唯一的不能出现同名视图或表名创建视图的数目无限制但要考虑复杂查询创建为视图之后的性能影响视图不能添加索引也不能有关联的触发器或者默认值视图可以提高安全性在访问视图时必须具有足够的访问权限创建视图时可以使用order by子句但如果从该视图检索数据时也含有order by子句那么该视图中的order by将被覆盖视图可以和普通表一起使用比如进行多表查询内外连接等
以上就是视图的内容简单了解即可 --------------------- END ----------------------
「 作者 」 枫叶先生
「 更新 」 2023.9.11
「 声明 」 余之才疏学浅故所撰文疏漏难免或有谬误或不准确之处敬请读者批评指正。