使用MySQL创建三表视图简化数据管理(mysql三表创建视图)

使用MySQL创建三表视图简化数据管理

在日常开发中,经常需要对不同表中的数据进行联合查询和统计处理,这时候就需要使用到视图来简化数据的管理和操作。MySQL数据库作为目前使用广泛的一种关系型数据库,其视图的使用也十分便捷。本文将介绍如何使用MySQL创建三表视图简化数据管理。

第一步:创建需要的表

在本例中,我们将创建三个表,分别为“学生信息表”、“教师信息表”和“选课信息表”。学生信息表包括学生的姓名、性别、年龄、联系方式等基本信息,教师信息表包括教师的姓名、性别、职称等信息,选课信息表包括学生和教师的姓名、所选课程名称和成绩。具体建表语句如下:

–创建学生信息表

CREATE TABLE `student` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(20) NOT NULL,

`gender` char(1) NOT NULL,

`age` int(11) NOT NULL,

`phone` varchar(20) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

–创建教师信息表

CREATE TABLE `teacher` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(20) NOT NULL,

`gender` char(1) NOT NULL,

`title` varchar(20) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

–创建选课信息表

CREATE TABLE `score` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`student_name` varchar(20) NOT NULL,

`teacher_name` varchar(20) NOT NULL,

`course_name` varchar(20) NOT NULL,

`score` varchar(10) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

第二步:向三个表中插入数据

在创建好表的基础上,我们需要向表中插入一些数据,以便于后续的视图操作。具体插入数据的语句如下:

–向学生信息表中插入数据

INSERT INTO `student`(`name`, `gender`, `age`, `phone`) VALUES (‘张三’, ‘男’, 20, ‘135****5678’);

INSERT INTO `student`(`name`, `gender`, `age`, `phone`) VALUES (‘李四’, ‘女’, 21, ‘136****7890’);

INSERT INTO `student`(`name`, `gender`, `age`, `phone`) VALUES (‘王五’, ‘男’, 22, ‘137****8901’);

–向教师信息表中插入数据

INSERT INTO `teacher`(`name`, `gender`, `title`) VALUES (‘张老师’, ‘女’, ‘讲师’);

INSERT INTO `teacher`(`name`, `gender`, `title`) VALUES (‘李老师’, ‘男’, ‘副教授’);

INSERT INTO `teacher`(`name`, `gender`, `title`) VALUES (‘王老师’, ‘男’, ‘教授’);

–向选课信息表中插入数据

INSERT INTO `score`(`student_name`, `teacher_name`, `course_name`, `score`) VALUES (‘张三’, ‘张老师’, ‘数学’, ’90’);

INSERT INTO `score`(`student_name`, `teacher_name`, `course_name`, `score`) VALUES (‘李四’, ‘张老师’, ‘语文’, ’80’);

INSERT INTO `score`(`student_name`, `teacher_name`, `course_name`, `score`) VALUES (‘王五’, ‘李老师’, ‘英语’, ’88’);

第三步:创建三表联合查询视图

在完成了数据表的建立和数据的插入之后,我们就可以开始创建三表联合查询视图。具体操作的语句如下:

CREATE VIEW `student_score_info` AS

SELECT `student`.`name`, `student`.`gender`, `student`.`age`, `student`.`phone`, `teacher`.`title`, `score`.`course_name`, `score`.`score`

FROM `student`, `teacher`, `score`

WHERE `student`.`name`=`score`.`student_name` AND `teacher`.`name`=`score`.`teacher_name`;

通过以上的语句,我们就可以成功创建一个名为“student_score_info”的视图,将三个表中的数据联合起来,方便进行查询和统计。

第四步:查询视图中的数据

我们可以通过以下的语句对创建的视图进行查询:

SELECT * FROM `student_score_info`;

查询结果如下所示:

| name | gender | age | phone | title | course_name | score |

| —- | —— | — | —– | —– | ———– | —– |

| 张三 | 男 | 20 | 135****5678 | 讲师 | 数学 | 90 |

| 李四 | 女 | 21 | 136****7890 | 讲师 | 语文 | 80 |

| 王五 | 男 | 22 | 137****8901 | 副教授 | 英语 | 88 |

通过以上的示例,我们可以看到如何使用MySQL创建三表视图,将不同数据表中的数据联合起来,方便对数据进行操作和管理。


数据运维技术 » 使用MySQL创建三表视图简化数据管理(mysql三表创建视图)