MySQL中的左右连接和视图的区别?

MySQL中的左右连接和视图的区别?,第1张

联系:视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系

区别: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

是权限问题,需要修改此登录当前数据库的用户对表的读写权限。语句修改方法:mysql>GRANT INSERT, UPDATE, DELETE ON `yourdb`.ng_sessions_data TO 'youruser'@'%'可参考的工具(MySQL Administrator ): http://www.mysqlpub.com/viewthread.php?tid=30&extra=page%3D1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8520568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存