百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql视图有空间吗?
分享文章到:

mysql视图有空间吗?

发布时间:10/01 来源:未知 浏览: 关键词:

mysql视图没有空间。MySQL视图是一种虚拟存在的表,并不实际存在于数据库中,不分配空间。MySQL数据库中只存置了视图的定义,并没有存置视图中的数据,这些数据都存置在定义视图查询所援用的真实表中。

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

MySQL 视图(View)是一种虚拟存在的表,同真实表一样,视图也由列和行构成,但视图并不实际存在于数据库中。行和列的数据来自于定义视图的查询中所使用的表,并且还是在使用视图时动态生成的。

数据库中只存置了视图的定义,并没有存置视图中的数据,这些数据都存置在定义视图查询所援用的真实表中。使用视图查询数据时,数据库会从真实表中取出对应的数据。因此,视图中的数据是依靠于真实表中的数据的。一旦真实表中的数据发生改动,显示在视图中的数据也会发生改动。

视图可以从原有的表上拔取对会员有用的信息,那些对会员没用,或者会员没有权限理解的信息,都可以直接屏蔽掉,作用相似于挑选。这样做既使利用简便化,也包管了系统的平安。

例如,下面的数据库中有一张公司部门表 department。表中包罗部门号(d_id)、部门名称(d_name)、功效(function)和办公地址(address)。department 表的构造如下:

mysql> DESC department;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| d_id     | int(4)      | NO   | PRI | NULL    |       |
| d_name   | varchar(20) | NO   | UNI    | NULL    |       |
| function | varchar(50) | YES  |     | NULL    |       |
| address  | varchar(50) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.02 sec)

还有一张员工表 worker。表中包括了员工的工作号(num)、部门号(d_id)、姓名(name)、性别(sex)、出生日期(birthday)和家庭住址(homeaddress)。worker 表的构造如下:

mysql> DESC worker;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| num         | int(10)     | NO   | PRI | NULL    |       |
| d_id        | int(4)      | YES  |MUL     | NULL    |       |
| name        | varchar(20) | NO   |     | NULL    |       |
| sex         | varchar(4)  | NO   |     | NULL    |       |
| birthday    | datetime    | YES  |     | NULL    |       |
| homeaddress | varchar(50) | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)

由于各部门领导的权利范畴不一样,因此,各部门的领导只能看到该部门的员工信息;并且,领导大概不关怀员工的生日和家庭住址。为了到达这个目的,可认为各部门的领导创立一个视图,通过该视图,领导只能看到本部门员工的指定信息。

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

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

MySQL 的视图不支撑输入参数的功效,因此交互性上还有欠缺。但关于转变不是很大的操纵,使用视图可以很大程度上简化会员的操纵。

视图并不一样于数据表,它们的不同在于以下几点:

  • 视图不是数据库中真实的表,而是一张虚拟表,其构造和数据是创立在对数据中真实表的查询根基上的。

  • 储备在数据库中的查询操纵 SQL 语句定义了视图的内容,列数据和行数据来自于视图查询所援用的实际表,援用视图时动态生成这些数据。

  • 视图没有实际的物理记载,不是以数据集的情势储备在数据库中的,它所对应的数据实际上是储备在视图所援用的真实表中的。

  • 视图是数据的窗口,而表是内容。表是实际数据的存置单位,而视图只是以不一样的显示方式展现数据,其数据来源还是实际表。

  • 视图是查看数据表的一种办法,可以查询数据表中某些字段构成的数据,只是一些 SQL 语句的汇合。从平安的角度来看,视图的数据平安性更高,使用视图的会员不接触数据表,不知道表构造。

  • 视图的创立和删除只影响视图本身,不影响对应的根本表。

以上就是mysql视图有空间吗?的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有154人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板