- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQl中的视图
视图的含义
视图是一种虚拟的表?视图从数据库中的一个或多个表导出来的表?视图还可以从已经存在的视图的基础上定义?数据库中只存放了视图的定义,而并没有存放视图中的数据?这些数据存放在原来的表中?使用视图查询数据时,数据库系统会从原来的表中取出对应的数据?因此,视图中的数据是依赖于原来的表中的数据的?一旦表中的数据发生改变,显示在视图中的数据也会发生改变?
视图的作用
视图是在原有的表或者视图的基础上重新定义的虚拟表,这可以从原有的表上选取对用户有用的信息?那些对用户没有用,或者用户没有权限了解的信息,都可以直接屏蔽掉?这样做既使应用简单化,也保证了系统的安全?视图起着类似于筛选的作用?视图的作用归纳为如下几点:
1.使操作简单化
2.增加数据的安全性
3.提高表的逻辑独立性
备注:视图中数据改变,物理数据表中的数据会相应的改变,
物理表中的数据改变,同样视图中的数据改变?
总结,视图数据和物理表中的数据相互作用,一改都改?
创建视图:
/*样例表*/
CREATE TABLE student
(
s_id INT,
name VARCHAR(40)
);
CREATE TABLE stu_info
(
s_id INT,
glass VARCHAR(40),
addr VARCHAR(90)
);
在单表上创建视图
【例11.1】在t表格上创建一个名为view_t的视图,代码如下:
CREATE TABLE t (id INT, price INT); /*创建基本表t*/
INSERT INTO t VALUES(3, 50); /*插入记录*/
创建视图的语句为:
CREATE VIEW view_t AS SELECT quantity, price, quantity *price FROM t; /*查看view_t*/
SELECT * FROM view_t;
【例11.2】在t表格上创建一个名为view_t2的视图,代码如下:
CREATE VIEW view_t2(qty, price, total ) AS SELECT quantity, price, quantity *price FROM t;
SELECT * FROM view_t2;
备注:view _t2 和view_t1两个视图中的字段名称不同,单数据完全相同,因此使用视图的时候,可能用户根本不用了解基本表的结构,更接触不到实际表中的数据,从而保证了数据库的安全
在多表上创建视图
【例11.3】在表student和表stu_info上创建视图stu_glass,代码如下:
INSERT INTO student VALUES(1,wanglin1),(2,gaoli),(3,zhanghai); /*插入记录*/
INSERT INTO stu_info VALUES(1, wuban,henan),(2,liuban,hebei),(3,qiban,shandong);
在多表上创建视图的格式:
create view 视图名称(列名1,列名2,列名3....)
CREATE VIEW stu_glass (id,name, glass) AS SELECT student.s_id, ,stu_info.glass FROM student ,stu_info WHERE student.s_id=stu_info.s_id;
SELECT * FROM stu_glass;
查看视图:
【例11.4】通过DESCRIBE语句查看视图view_t的定义,代码如下:
DESCRIBE view_t;
【例11.5】下面将通过一个例子来学习使用SHOW TABLE STATUS命令查看视图信息,代码如下:
SHOW TABLE STATUS LIKE view_t \G;
SHOW TABLE STATUS LIKE t \G;
【例11.6】SHOW CREATE VIEW查看视图的详细定义,代码如下:
SHOW CREATE VIEW view_t \G;
在views 表中查看视图的详细定义:
【例11.7】在views表中查看视图的详细定义,代码如下:
SELECT * FROM information_schema.views \G;
修改视图
【例11.8】修改视图view_t,代码如下:
DESC view_t;
CREATE OR REPLACE VIEW view_t AS SELECT * FROM t;
DESC view_t;
【例11.9】使用ALTER语句修改视图v
原创力文档


文档评论(0)