目录

一、视图是什么?

二、使用步骤(示例)

1、基于前面建立的student表,建立学生视图view_stu,输出学号、姓名、系别;

2、基于前面建立的student表和score表,建立学生视图view_stu_sco,输出学号、姓名、课程名、成绩;

3、在学生视图view_stu中,插入一条新记录,新记录以自己的真实学号,姓名和系别输入;

4、在学生视图view_stu中,将插入的自己学号的记录进行更新,更新系别为computer;

5、在学生视图view_stu中,删除自己学号的记录。

总结


提示:以下是本篇文章正文内容,下面案例可供参考

一、视图是什么?

数据库视图是一个虚拟的表,它是在数据库中的一个查询结果,可以像表一样使用。视图是一种逻辑结构,可以对一个或多个表进行选择、过滤、分组等操作,从而简化了复杂查询的使用,使得用户能够更方便地获取所需的数据。

二、使用步骤(示例)

 sql语句如下

#1创建一个学生表student和一个分数表score, student表和score分数表的表结构
CREATE TABLE student (
	stu_id INT(10) PRIMARY KEY not null COMMENT '学号',
	stu_name VARCHAR(20) NOT NULL COMMENT '姓名',
	sex VARCHAR(2) COMMENT '性别',
	birth YEAR COMMENT '出生年份',
	department VARCHAR(20) COMMENT '院系',
	addr VARCHAR(50) COMMENT '家庭住址'
);
CREATE TABLE score(
	score_id INT(10) PRIMARY KEY UNIQUE NOT NULL auto_increment COMMENT '编号',
	stu_id INT(10) NOT NULL  COMMENT '学号',
	c_name VARCHAR(20) COMMENT '课程名',
	grade INT(10) COMMENT '分数'
);

#2、向student表中插入数据,数据如下:
INSERT INTO student
VALUES
	( 901, '张飞', '男', 1985, '计算机系', '河北省涿州市' ),
	( 902, '关羽', '男', 1986, '中文系', '山西省运城市' ),
	( 903, '貂蝉', '女', 1990, '中文系', '山西省沂州市' ),
	( 904, '刘备', '男', 1990, '英语系', '河北省涿州市' ),
	( 905, '小乔', '女', 1991, '英语系', '安徽省潜山市' ),
	( 906, '赵云', '男', 1988, '计算机系', '河北省正定市' );

#向score表中插入数据,数据如下:
INSERT INTO score ( stu_id, c_name, grade )
VALUES
	( 901, '计算机', 98 ),
	( 901, '英语', 80 ),
	( 902, '计算机', 65 ),
	( 902, '中文', 88 ),
	( 903, '中文', 95 ),
	( 904, '计算机', 70 ),
	( 904, '英语', 92 ),
	( 905, '英语', 94 ),
	( 906, '计算机', 90 ),
	( 906, '英语', 85 );

1、基于前面建立的student表,建立学生视图view_stu,输出学号、姓名、系别;

CREATE VIEW view_stu  AS
SELECT stu_id ,stu_name,department FROM student;

2、基于前面建立的student表和score表,建立学生视图view_stu_sco,输出学号、姓名、课程名、成绩;

CREATE VIEW view_stu_sco AS
SELECT student.stu_id, stu_name,c_name,grade FROM
student JOIN score ON student.stu_id = score.stu_id;

 

3、在学生视图view_stu中,插入一条新记录,新记录以自己的真实学号,姓名和系别输入;

INSERT INTO view_stu VALUES (19000910,'自由舰','人工智能');

 

4、在学生视图view_stu中,将插入的自己学号的记录进行更新,更新系别为computer;

UPDATE view_stu SET department = 'computer' WHERE stu_id = 19000910;

5、在学生视图view_stu中,删除自己学号的记录。

DELETE from view_stu WHERE stu_id = 19000910;


总结

数据库视图的作用如下:

  1. 简化复杂查询:通过数据库视图,用户可以对多张表进行选择、过滤、分组等操作,从而简化复杂查询的使用。视图可以针对用户的需求进行设计,使得用户能够更方便地获取所需的数据。
  2. 数据安全:通过视图,数据库管理员可以限制用户访问特定的数据行、列或表,以保护敏感数据的安全性。管理员可以授权用户对视图进行访问,而不是直接对表进行访问,从而保护数据的安全性。
  3. 数据独立性:通过视图,可以将业务逻辑和数据结构进行分离,从而提高数据独立性。如果数据库中的表结构发生变化,只需更新视图的定义,而不需要修改应用程序或其他依赖于该表的对象。
  4. 性能优化:通过视图,可以将一些常用的查询结果缓存下来,从而提高查询的性能。视图中存储的查询结果可以使用索引进行优化,从而提高查询效率。 综上所述,数据库视图是一种非常有用的工具,可以简化复杂查询、提高数据安全性、提高数据独立性和优化查询性能。
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐