您的位置:首页 > 时尚网 > 资讯 > 生活 > 2022年01月17日整理发布:mysql视图有空间吗

2022年01月17日整理发布:mysql视图有空间吗

时间:2023-08-03 10:28:16 来源:互联网

mysql视图中没有空间。MySQL视图是一个虚拟表,实际上并不存在于数据库中,也不分配空间。MySQL数据库只存储视图的定义,不存储视图中的数据,数据存储在定义视图的查询所引用的实表中。

(推荐教程:mysql视频教程)


(资料图片仅供参考)

MySQL视图是一个虚拟表。像真实的表一样,视图由列和行组成,但是视图实际上并不存在于数据库中。行和列的数据来自定义视图的查询中使用的表,并在使用视图时动态生成。

只有视图的定义存储在数据库中,而不是视图中的数据。这些数据存储在定义视图的查询所引用的真实表中。当使用视图查询数据时,数据库将从真实表中获取相应的数据。因此,视图中的数据依赖于真实表中的数据。一旦真实表中的数据发生变化,视图中显示的数据也会发生变化。

视图可以从原始表中为用户选择有用的信息,对用户无用或用户没有权限知道的信息可以直接筛选出来,类似于过滤。这不仅简化了应用程序,而且保证了系统的安全性。

例如,以下数据库中有一个公司部门表。该表包括部门编号(d_id)、部门名称(d_name)、职能和办公地址。部门表的结构如下:

mysql DESC部门;

- - - - - -

|字段|类型|空|键|默认|额外|

- - - - - -

| d_id | int(4) | NO | PRI | NULL | |

| d _ name | varchar(20)| NO | UNI | NULL | |

|函数| varchar(50) | YES | | NULL | |

|地址| varchar(50) |是| |空| |

- - - - - -

Rowsin集(0.02秒)也有一个雇员表工作人员。该表包含员工的工作编号(num)、部门编号(d_id)、姓名(name)、性别(sex)、生日和家庭住址。工人表的结构如下:

mysql DESC工人;

- - - - - -

|字段|类型|空|键|默认|额外|

- - - - - -

| num | int(10) | NO | PRI | NULL | |

| d_id | int(4) | YES |MUL | NULL | |

|名称| varchar(20) | NO | | NULL | |

|性| varchar(4) | NO | | NULL | |

|生日|日期时间|是| |空| |

|家庭住址| varchar(50) | YES | | NULL | |

- - - - - -

设置6行(0.01秒)由于各部门领导的权力范围不同,各部门领导只能看到本部门的员工信息;此外,领导可能不关心员工的生日和家庭住址。为了实现这个目标,我们可以为各个部门的领导设置一个视图,通过这个视图,领导只能看到该部门员工的指定信息。

例如,为生产部门创建一个名为product _view的视图。通过view product_ view,生产部门领导只能看到生产部门员工的工号、姓名、性别。这些部门表和员工表的信息仍然存在于各自的表中,而view product_view不存储任何数据信息。当部门表和员工表的信息发生变化时,视图product_view中显示的信息也会相应地发生变化。

提示:如果经常需要从多个表中查询指定字段的数据,可以在这些表上创建一个视图,通过这个视图显示这些字段的数据。

MySQL的视图不支持输入参数的功能,所以还是缺乏交互性。但是,使用视图进行几乎没有变化的操作可以大大简化用户的操作。

视图与数据表在以下几点上有所不同:

视图不是数据库中的真实表,而是一个虚拟表,其结构和数据基于对数据中真实表的查询。

存储在数据库中的查询操作SQL语句定义了视图的内容。当列数据和行数据来自视图查询引用的实际表时,这些数据是动态生成的。

视图没有实际的物理记录,不以数据集的形式存储在数据库中,其对应的数据实际存储在视图引用的实表中。

视图是数据的窗口,表格是内容。表是实际数据的存储单元,而视图只是以不同的显示方式显示数据,其数据源是实际的表。

视图是查看数据表的一种方式。您可以查询数据表中的一些字段。数据只是SQL语句的集合。从安全性来看,视图的数据安全性更高。使用视图的用户不接触数据表就不知道表的结构。

视图的建立和删除只影响视图本身,不影响对应的基本表。

以上就是mysql视图是否有空间的细节!

来源:php中文网站

标签:

分享到: