区别:1、视图是已经编译好的sql语句。而表不是
2、视图没有实际的物理记录。而表有。
3、表是内容,视图是窗口
4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时四对它进行修改,但视图只能有创建的语句来修改
5、表是内模式,视图是外模式
6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。
7、表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。
8、视图的建立和删除只影响视图本身,不影响对应的基本表。
在表a中,name字段下有bank用户。表b中,username字段下也有bank用户。现在要求不管a表还是b表中的bank用户的”余额“数值更新时,另外一张表中的“余额”保持同步更新。表1:名字:mysql
表2:名字:accounts
这两个表在同一数据库。
账户很多,但是只希望alg_bank这个账户保持两张表数值相同。其他的不要变。
因为这两张表都是自己能变化的,所以希望不管哪个变化,另一个一起变化,总是保持相同。
希望有人能帮帮我,谢谢了。
这是我目前写的触发器里面,但是一修改mysql表里面的数据就报错。目前只在mysql这个表写了一个触发器,听说想要实时同步需要两个表各放一个触发器。
begin
UPDATE accounts.balance
SET algserver.accounts.balance = algserver.mysql.balance
where algserver.accounts.name like "%alg_bank"
end
1、什么是视图
视图:MySQL从5.0.1版本开始提供视图功能。一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果
2、视图应用场景
多个地方用到同样的查询结果该查询结果使用的sql语句较复杂
4、视图的好处
使用简单安全数据独立
5、创建或者修 改视图
创建视图的语法:
修改视图的语法
6、视图更新性
视图的可更新性和视图中查询的定义有关系,以下类型的视图是不能更新的。(1)包含以下关键字的sql语句:分组函数、distinct、group by、having、union或者union all(2)常量视图(3)Select中包含子查询(4)join(5)from一个不能更新的视图(6)where子句的子查询引用了from子句中的表
7、删除视图的语法
用户可以一次删除一个或者多个视图,前提是必须有该视图的drop权限。
8、查看视图结构的语法
show tables如果需要查询某个视图的定义,可以使用show create view命令进行查看
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)