大家好,作为一名互联网行业的小白,写博客只是为了巩固自己学习的知识,但由于水平有限,博客中难免会有一些错误出现,有不妥之处恳请各位大佬指点一二!
博客主页:链接: https://blog.csdn.net/weixin_52720197?spm=1018.2118.3001.5343
1. 创建视图
create [or replace] [algorithm = {
undefined |merge | temptable}]
view view_name [(column_list)]
as select_statement
[with [cascaded | local] check option];
其中:
create view:为创建视图所使用的关键字;
or replace:可选项,若给定了 or replace,则表示新视图将会覆盖掉数据库中同名的原有视图。
algorithm:可选项,表示视图选择的执行算法;
undefined:表示 MySQL 会自动选择视图的执行算法,当用户创建视图时,MySQL默认使用一种 undefine 的处理算法,即在 merge 和 temptable 两种算法中自动选择其中
的一种;
merge:视图的执行算法之一,这种算法会将引用视图的语句与视图定义合并起来,使得视图定义的某一部分取代语句的对应部分;
temptable:视图的执行算法之一,这种算法会将视图的结果置于临时表中,然后使用该临时表执行语句;
view_name:表示将要创建的视图名称;
column_list:可选项,表示视图中的字段列表;如果不指定字段列表,也就是默认情况下,该字段列表与 select 子句中指定的字段列表相同;
as:用于指定视图要执行的操作;
select_statement:表示一条完整的查询语句,通过该查询语句可从若干张张表或其它的视图中查询到满足条件的记录,这些记录就是视图中的数据;
with check option:可选项,用来