为了避免复杂的数据库级联,可以采用视图的方式,将多个表中的字段加到视图中。这样在查询或修改数据时,只需查询或修改视图即可。
查询、修改、删除视图的sql语句和表是一样的。
注:在这里使用的mysql客户端为“Navicat for MySQL”。
1、选中表中字段。视图中不能有重复的字段。
2、切换到“定义”选项卡,可以看到创建视图的实际sql语句。
`info` join `user` 表示:info表与user表进行级联。
WITH CHECK OPTION表示:表中的数据修改后,仍可通过视图看到修改的数据。当视图是根据另一个视图定义的时,WITH CHECK OPTION给出两个参数:LOCAL和CASCADED。它们决定了检查测试的范围。Local关键字使CHECK OPTION只对定义的视图进行检查,CASCADED则会对所有视图进行检查。如果未给定任一关键字,默认值为CASCADED。
多表的情况下。
3、切换到“高级”选项卡,选择视图的
mysql视图的算法有三个参数分别是:Merge、TEMPTABLE、UNDEFINED
因为临时表中的数据不可更新。所以,如果使用TEMPTABLE,无法进行更新。
当你的参数定义是UNDEFINED(没有定义算法)。
mysql更倾向于选择Merge算法(合并方式)。是因为它更加有效。
4、 视图创建好了。
5、 打开已经创建好的视图v1,可以查看数据了。