MySQL索引和视图
MySQL索引和视图是关系型数据库MySQL中的两个重要概念。索引用于优化数据库的查询性能,而视图用于提供一个逻辑上的表结构,方便用户查询和操作数据。
索引是一种数据结构,可以加速对数据库表中的数据进行查询的速度。通过创建索引,可以在查询时快速定位到需要的数据,而不是遍历整个表。索引可以根据一个或多个列的值来创建,常见的索引类型包括B-tree索引、哈希索引和全文索引等。
视图是一个虚拟的表,是从一个或多个表中查询出来的结果集。视图可以简化复杂的查询操作,将查询结果以表的形式呈现给用户,用户可以像查询表一样对视图进行操作。视图可以包含计算列、过滤条件等,方便用户进行数据的逻辑操作和数据的复用。
命令提示符启动MySQL


学生表:Student (Sno, Sname, Ssex , Sage, Sdept)
学号,姓名,性别,年龄,所在系 Sno为主键
课程表:Course (Cno, Cname,)
课程号,课程名 Cno为主键
学生选课表:SC (Sno, Cno, Score)
学号,课程号,成绩 Sno,Cno为主键
1、用SQL语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”。

CREATE TABLE Student (Sno INT PRIMARY KEY,Sname VARCHAR(50) NOT NULL UNIQUE,Ssex ENUM('男', '女') NOT NULL,Sage SMALLINT,Sdept VARCHAR(50) DEFAULT '计算机'
);
2、修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint。

ALTER TABLE Student MODIFY COLUMN Sage SMALLINT;
3、为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为SC_INDEX 。
创建SC表,然后为其添加主键索引。

-- 创建SC表
CREATE TABLE SC (Sno INT,Cno INT,Score INT,PRIMARY KEY (Sno, Cno)
);
建立按学号(sno)和课程号(cno)

添加主键索引
CREATE INDEX SC_INDEX ON SC (Sno, Cno);
4、创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。
创建Course表

-- 创建Course表
CREATE TABLE Course (Cno INT PRIMARY KEY,Cname VARCHAR(50)
);
为SC表添加外键约束

ALTER TABLE SC ADD CONSTRAINT FK_Course_Cno FOREIGN KEY (Cno) REFERENCES Course(Cno);
创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。

CREATE VIEW stu_info AS
SELECT S.Sname, S.Ssex, C.Cname
FROM Student S
JOIN SC ON S.Sno = SC.Sno
JOIN Course C ON SC.Cno = C.Cno;
相关文章:
MySQL索引和视图
MySQL索引和视图是关系型数据库MySQL中的两个重要概念。索引用于优化数据库的查询性能,而视图用于提供一个逻辑上的表结构,方便用户查询和操作数据。 索引是一种数据结构,可以加速对数据库表中的数据进行查询的速度。通过创建索引࿰…...
Java单元测试Mock的用法,关于接口测试的用例
Testvoid getAllTradeDateList() {// 创建模拟对象Bc6CalculateService calculateService Mockito.mock(Bc6CalculateService.class);String allTradeDateListStr ExcelUtil.excelToJsonStr("bc6/NibTradeDate.xlsx");// 设置模拟行为List<NibTradeDateCloudDto…...
《心理学报》文本分析技术最新进展总结盘点
这些研究展示了文本分析在多个心理学领域内的强大应用,包括情境判断测验的自动化评分、自闭症儿童教育干预的学习效果评估、中文文本阅读的词切分和词汇识别机制、网络突发事件的负性偏向分析,以及小学生羞怯特质的预测与语言风格模型构建。通过采用机器…...
json格式文件备份redis数据库 工具
背景: 项目组要求使用 json备份redis缓存数据库内容。 附件里工具是一个包含redis-dump工具的镜像文件,方便用户在局域网中使用容器备份redis缓存数据库。 使用步骤: 解压tar文件,导入镜像 docker load < redis_dump_of_my…...
JAVA系列:NIO
NIO学习 一、前言 先来看一下NIO的工作流程图: NIO三大核心组件,channel(通道)、Buffer(缓冲区)、selector(选择器)。NIO利用的是多路复用模型,一个线程处理多个IO的读…...
偏微分方程算法之抛物型方程差分格式编程示例二
目录 一、研究问题 二、C++代码 三、结果分析 一、研究问题 采用向后欧拉格式计算抛物型方程初边值问题:...
linux 查看 线程名, 线程数
ps -T -p 3652 ps H -T <PID> ps -eLf | grep process_name top -H -p <pid> 查看进程创建的所有线程_ps 显示一个进程的所有线程名字-CSDN博客...
python class __getattr__ 与 __getattribute__ 的区别
在Python中,__getattr__是一个特殊的方法,用于处理访问不存在的属性时的行为。它通常在类中被重写,以便在属性访问失败时提供自定义的处理逻辑。 __getattr__ 的使用 1. 基本用法 __getattr__方法在访问类实例的某个不存在的属性时自动调用…...
[ C++ ] 类和对象( 下 )
初始化列表 初始化列表:以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟 一个放在括号中的初始值或表达式。 class Date { public: Date(int year, int month, int day): _year(year), _month(month), _d…...
这么多不同接口的固态硬盘,你选对了嘛!
固态硬盘大家都不陌生,玩游戏、办公存储都会用到。如果自己想要给电脑或笔记本升级下存储,想要存储更多的文件,该怎么选购不同类型的SSD固态盘呐,下面就来认识下日常使用中常见的固态硬盘。 固态硬盘(Solid State Drive, SSD)作为数据存储技术的革新力量,其接口类型的选…...
使用IDEA远程debug调试
文章目录 应用背景开启方式IDEA设置启动脚本改造 参考资料 应用背景 springboot项目,部署到服务器上,需要开启远程debug跟踪代码。 使用idea开启远程debug。 开启方式 IDEA设置 选择 Edit Configuration 如图,点击加号,选择Re…...
开源自定义表单系统源码 一键生成表单工具 可自由DIY表单模型+二开
分享一款开源自定义表单系统源码,能够实现99%各行业的报名、预约、加盟申请、调查等应用,而且同时多开创建多个表单,支持自定义各种字段模型,市面上需要的表单模型都含了,随便自定义啦,含完整的代码包和详细…...
【java10】集合中新增copyof创建只读集合
在Java中,集合(如List、Set、Map等)是编程中常用的数据结构。然而,在某些场景下,我们可能希望集合中的数据是只读的,即不允许修改集合中的元素。在Java8及之前,要实现这样的功能,我们…...
python小甲鱼作业001-3讲
0.Python是什么类型的语言 编译型语言不同,Python 代码在执行时由解释器直接逐行解释执行,无需先编译成机器语言。这使得开发过程更快,因为你可以即时运行并测试你的代码。 Python 在运行时自动推断变量的类型,无需在代码中显式声…...
做电商,错过了2020年的抖音!那2024一定要选择视频号小店!
哈喽~我是电商月月 电商老板们集合了,问大家一个问题: 如果能让你回到三四年前,抖音才步入大众视野,这时候让你去做抖音小店,你愿意吗? 我敢相信!很多,错过当年抖音红利的商家,一…...
赛氪网与武汉外语外事职业学院签署校企合作,共创职业教育新篇章
5月23日下午14:00,武汉外语外事职业学院在藏龙岛校区食堂三楼报告厅隆重举行了2024年职业教育活动周优秀校外实习基地表彰仪式。本次活动旨在表彰在职业教育领域作出突出贡献的校外实习基地,同时加强校企合作,共同推动职业教育的发展。作为重…...
如何在文档中有效添加网格:技巧与实例
新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:为何添加网格至关重要 二、网格添加的基本步骤 1. 确定网格类型和样式…...
设计模式10——装饰模式
写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用,主要是下面的UML图可以起到大作用,在你学习过一遍以后可能会遗忘,忘记了不要紧,只要看一眼UML图就能想起来了。同时也请大家多多指教。 装饰模式 是一种结构型模式。…...
如果返回的json 中有 ‘///’ 转换
// 将返回数据的三条/和替换空 rowData.Jsonobj rowData.Jsonobj .replace(/^\s*\/\/\/.*$/gm, //); // 将返回的替换成" 并且外面加个"" rowData.Jsonobj "${rowData.Jsonobj .replace(//g, ")}"; // 转换回来数据用两个 JSON.parse(JSON.par…...
JAVA学习-练习试用Java实现“多线程问题”
问题: 1.程序中需要开启两个线程(线程1和线程2) 2.线程1固定5秒钟执行一次 3.线程2固定10秒钟执行一次 4.开启程序如何做到线程1执行完成后再执行线程2并且在之后无论谁先执行都需等待对方执行完成后才可以开始执行 解答思路: 要实现线程 1 执行完成…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
