MySQL之视图索引

学生表:Student (Sno, Sname, Ssex , Sage, Sdept)
学号,姓名,性别,年龄,所在系 Sno为主键
课程表:Course (Cno, Cname,)
课程号,课程名 Cno为主键
学生选课表:SC (Sno, Cno, Score)
学号,课程号,成绩 Sno,Cno为主键

 首先我们先创建一个数据库

0f6fae477f334f7095f003f99190b203.png

1.用SQL语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”。

mysql> create table Student(
-> Sno int primary key auto_increment comment '学号',
-> Sname varchar(50) unique comment '姓名',
-> Ssex enum('男','女') comment '性别',
-> Sage int comment '年龄',
-> Sdept varchar(50) default '计算机' comment '所在系'
-> );

b6c48c15f07d4ddebbf015a051cde6ec.png

2.修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint。

mysql> alter table Student modify Sage smallint;

5f2a16259e164a3ebc58fab9f370dd39.png

3.为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名SC_INDEX 

mysql> create table SC(
-> Sno int comment '学号',
-> Cno int comment '课程号',
-> Score int comment '成绩',
-> primary key SC_index(Sno,Cno)
-> );

37eb184408924195b52d846babaa4ea3.png

4.创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。

这里我们首先创建课程表

mysql> create table Course(
-> Cno int primary key comment '课程号',
-> Cname varchar(50) comment '课程名'
-> );

7a420e49acc04aa09d408c7f9d727db1.png

接下来我们分别往三张表中插入一些数据

Student表

mysql> insert into Student values
-> (1, '张伟', '男', 20, '计算机'),
-> (2, '王芳', '女', 22, '数学'),
-> (3, '李伟', '男', 21, '化学'),
-> (4, '王秀英', '女', 21, '土木'),
-> (5, '李娜', '女', 22, '医学');

c7604cf7ad1a4159b3ce2bfbd847f64e.png

Course表

mysql> insert into Course values (1, '网络安全'),(2, '数学思维导论'),(3, '化学原理'),(4, '土木概论'),(5, '临床学');

06c87ed8282a4cd3abfa04531360042e.png

SC表

mysql> insert into SC values (1, 1, 90),(2, 2, 85),(3, 3, 92),(4, 4, 88),(5, 5, 95);

934385632e5d4043aab3c996859ecfd3.png

接下来我们创建视图

mysql> create view stu_info as
-> select distinct Sname 姓名,Ssex 性别,Cname 课程名,Score 成绩 from Student S
-> inner join SC on S.Sno=SC.Sno
-> inner join Course C on SC.Cno=C.Cno;

6cc82e844c9d48bbbed0ac48136f783c.png

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/331296.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华为设备NAT的配置

实现内网外网地址转换 静态转换 AR1: sys int g0/0/0 ip add 192.168.10.254 24 int g0/0/1 ip add 22.33.44.55 24 //静态转换 nat static global 22.33.44.56 inside 192.168.10.1 动态转换 最多有两台主机同时访问外网 AR1: sys int g0/0/0 ip add…

C语言之【函数】篇章以及例题分析

文章目录 前言一、函数是什么?二、C语言中函数的分类1、库函数2、自定义函数 三、函数的参数1、实际参数(实参)2、形式参数(形参) 四、函数的调用1、传值调用2、传址调用3、专项练习3.1 素数判断3.2 闰年判断3.3 二分查…

【OpenCV学习笔记17】- 平滑图像

这是对于 OpenCV 官方文档中 图像处理 的学习笔记。学习笔记中会记录官方给出的例子,也会给出自己根据官方的例子完成的更改代码,同样彩蛋的实现也会结合多个知识点一起实现一些小功能,来帮助我们对学会的知识点进行结合应用。 如果有喜欢我笔…

【数据结构】栈的远房亲戚——队列

队列的基本概念 前言一、队列的定义二、队列的重要术语三、队列的基本操作四、数据结构的三要素4.1 线性表的三要素4.2 栈的三要素4.3 队列的三要素 结语 前言 大家好,很高兴又和大家见面啦!!! 在经过前面内容的介绍,…

“Oops,Account deactivated” 账号被停用,如何解封?

“Oops,Account deactivated” ,当看到这个报错的时候,说明账号被停用,封了。 为什么被封 出现这种情况,多是因为违规使用账号,比如,批量注册多个账号或者违规使用账号,白嫖官方Api…

代码随想录算法训练营第三十六天 | 435.无重叠区间、763.划分字母区间、56.合并区间

435.无重叠区间 题目链接:435.无重叠区间 给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 文章讲解/视频讲解:https://programmercarl.com/0435.%E6%9…

Java毕业设计-基于jsp+servlet的家用电器购物商城管理系统-第87期

获取源码资料,请移步从戎源码网:从戎源码网_专业的计算机毕业设计网站 项目介绍 基于jspservlet的家用电器购物商城管理系统:前端 jsp、jquery、layui,后端 servlet、jdbc,角色分为管理员、用户;集成商品…

AI制作《流浪地球3》高清宣传片

AI制作《流浪地球3》高清宣传片 星辰大海,再次启航,人类的冒险,永无止境。The vast expanse of stars and oceans, setting sail once again. Human adventure knows no bounds. 当家园变得遥不可及,我们唯有勇往直前。With our …

电脑端网络记事本哪个安全稳定?

随着互联网科技的飞速发展,越来越多的上班族发现在电脑上使用网络记事本的重要性。这种网络记事本不仅便于记录工作内容,而且自动将数据上传到云端进行备份,让用户不再为数据丢失而担忧。让我们来看看上班族使用网络记事本的好处。 在日常工…

阿里云服务器地域如何选择?哪个地域价格优惠一些?

阿里云服务器地域和可用区怎么选择?地域是指云服务器所在物理数据中心的位置,地域选择就近选择,访客距离地域所在城市越近网络延迟越低,速度就越快;可用区是指同一个地域下,网络和电力相互独立的区域&#…

一文了解GeoTrust SSL证书

在当今互联网的高度连接世界中,确保网站安全性至关重要。SSL证书是保护网站和用户数据的关键组成部分。GeoTrust证书在SSL证书市场上享有盛誉,被许多网站所有者和企业所信赖。JoySSL将深入探讨GeoTrust证书的特点,帮助大家了解该品牌并做出更…

Spring中动态注册和销毁对象

1. 使用说明 通常我们项目中想要往spring容器中注入一个bean可以在项目初始化的时候结合Bean注解实现。但是该方法适合项目初始化时候使用,如果后续想要继续注入对象则无可奈何。本文主要描述一种在后续往spring容器注入bean的方法。 2. 实现 2.1 说明 2.1.1 注册…

Page268~270 11.3.4 wxWidgets项目配置

项目w28_gui的项目配置: 一,编译选项, -pipe -mthreads [[if (GetCompilerFactory().GetCompilerVersionString(_T("gcc")) > _T("4.8.0")) print(_T("-Wno-unused-local-typedefs"));]] 1, -pipe&#…

spark dateformat源码排错

背景 有一个任务 yyyy写成了YYYY,导致年份不对触发告警 select from_unixtime(unix_timestamp(),YYYY-MM-dd HH:mm:ss) 第一时间用spark dateformat搜索下看看官网,发现spark 官网也没有描述YYYY的信息 Datetime patterns - Spark 3.5.0 Documentati…

【计算机组成与体系结构Ⅱ】Cache性能分析(实验)

实验6:Cache性能分析 一、实验目的 1:加深对 Cache 的基本概念、基本组织结构以及基本工作原理的理解。 2:掌握 Cache 容量、相联度、块大小对 Cache 性能的影响。 3:掌握降低 Cache 不命中率的各种方法以及这些方法对提高 Ca…

Springboot智慧校园电子班牌统一管理平台源码

借助AIoT智能物联、云计算技术打造智慧绿色校园,助力实现校园教务管理、教师管理、学籍管理、考勤、信息发布、班级文明建设、校园风采、家校互通等场景功能,打造安全、便捷、绿色的智慧校园。 前后端分离架构 1、使用springbootvue2 2、数据库&#xff…

Day31 46全排列 47全排列II 回溯去重tips 51N皇后 37解数独

46 全排列 给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3]输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 排列问题与组合问题的不同之处就在于,没有startIndex,同时需要设置一个used数组…

剩余电流继电器装在哪里?电工必备知识

可实时监测和显示TN-S、TT系统配电线路的剩余电流; 每只剩余电流监测仪最多可监测16个回路的剩余电流,剩余电流监测范围为1mA-30A; 每路剩余电流监测均可设置报警值,报警值的设置范围为5mA-30A。每路剩余电流监测可设置为超值…

Docker(一)简介和基本概念

一、简介 本章将带领你进入 Docker 的世界。 什么是 Docker? 用它会带来什么样的好处? 好吧,让我们带着问题开始这神奇之旅。 1.什么是 Docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目&…

Joern环境的安装(Windows版)

Joern环境的安装(Windows版) 网上很少有关于Windows下安装Joern的教程,而我最初使用也是装在Ubuntu虚拟机中,这样使用很占内存,影响体验感。在Windows下使用源码安装Joern也是非常简单的过程: 提前需要的本地环境: …