mysql中视图哪些视图是不可更新

mysql中视图哪些视图是不可更新,第1张

mysql创建视图

1.

首先查询select

select_priv,create_view_priv

from

mysql.user

where

user

='root'

2.

创建视图create

view

depart_view

as

select

*

from

depart

3.

查询试图结构:desc

depart_view

4.

第二钟创建视图:create

view

depart_view2(id,name)

as

select

id,name

from

depart

以上是单表上创建视图;

5.

多表的视图创建:create

algorithm=merge

view

student_view1(id,name,sex)

as

select

worker.id,name,sex

from

worker,student

where

worker.id

=

student.w_id

with

local

check

option

6.

查看视图的方法:

1、describe

student_view1

2、show

create

view

student_view1

3、show

table

status

like

'视图名'

所有视图定义都存在information_schema数据库下的views表中。查询views表,可以查看到数据库中所有视图的详细信息。查询的语句如下:select

*

from

information_schema.views

这个视图没有主键;更新表时将会使用下列虚拟语句:

update v_sys_user set 更新的列=更新的值 where 列1=列1的旧值 and 列2=列2的旧值 and ... limit 1(这个的意思就是,如果视图是可更新视图,在表格窗口中更改某列值时会使用类似上边的语句来完成,where后是所有的列必须等于旧值)

(1) 若视图是基于多个表使用联接 *** 作而导出的,那么对这个视图执行更新 *** 作时,每次只能影响其中的一个表。

(2) 若视图导出时包含有分组和聚合 *** 作,则不允许对这个视图执行更新 *** 作。

(3) 若视图是从一个表经选择、投影而导出的,并在视图中包含了表的主键字或某个候选键,这类视图称为‘行列子集视图’。对这类视图可执行更新 *** 作。


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

原文地址: https://outofmemory.cn/sjk/9865828.html

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

发表评论

登录后才能评论

评论列表(0条)

保存