时间:2021-07-01 10:21:17 帮助过:20人阅读
ENGINE=MYISAM or InnoDB 这个是指定数据库的存储引擎,两者主要区别是 INnoDB支持事务,MYISAM 不支持但是速度更快。
在表 result 上创建一个视图
CREATE VIEW teams(TEAMNO,PLAYERNO,DIVISION) AS SELECT DISTINCT TEAMNO,CAPTAIN,DIVISION FROM result
with check option:对视图进行更新操作的时,需要检查更新后的值是否还是满足视图公式定义的条件。通俗点,就是所更新的结果是否还会在视图中存在。如果更新后的值不在视图范围内,就不允许更新如果创建视图的时候,没有加上with check option,更新视图中的某项数据的话,mysql并不会进行有效性检查。删掉了就删掉了。在视图中将看不到了。
视图的记录都保存在information_schema数据库中的一个叫views的表中。具体某个视图的定义代码以及属于哪个数据库等信息可以从里面看到理解视图的两种工作机制,举个例子:
语句:select * from teams
1.替换法:select *from (SELECT DISTINCT TEAMNO, CAPTAIN, DIVISION FROM result) 然后交给mysql处理
2.具体化法:mysql先得到了视图执行的结果,星辰给一个中间结果存在内存中,然后在外面的select调用中间结果。
Mysql--视图
标签:signed 定义 view color 引擎 char sel create 条件