MySQL---视图索引

news2024/9/21 19:07:46

表定义:

学生表:Student (Sno, Sname, Ssex , Sage, Sdept)

学号,姓名,性别,年龄,所在系 Sno为主键

课程表:Course (Cno, Cname,)

课程号,课程名 Cno为主键

学生选课表:SC (Sno, Cno, Score)

学号,课程号,成绩 Sno,Cno为主键

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

创建Student表

mysql> create table Student(                                             

    -> Sno int primary key,                                              

    -> Sname varchar(20) unique,                                         

    -> Ssex enum('男','女'),                                             

    -> Sage int,                                                         

    -> Sdept varchar(30) default '计算机'                                

    -> );                                                                

Query OK, 0 rows affected (0.01 sec)

#注意:在MySQL中,你可以使用枚举类型(ENUM)来限制字段的值只能是特定的选项。

Student表插入数据

mysql> insert into Student values(1,'张三','男',20,'计算机');            

mysql> insert intoStudent values(2,'李四','男',23,'英语');                                                          mysql> insert into Student values(3,'王五','女',22,'数学');                                                         mysql> insert into Student values(4,'小明','女',18,'数学');                                                

mysql> insert into Student values(5,'哈利姆','男',19,'计算机');          

#查看表结构

mysql> desc Student;

#查看Student表数据

mysql> select * from Student;

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

#在MySQL中,alter table 语句可以用于修改表的结构,包括添加、删除或修改列,以及重命名表。其中, modify关键字可以用于修改现有列的定义

mysql> alter table Student modify Sage smallint;

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

#创建学生选课表SC

mysql> create table SC(                                                  

    -> Sno int,                                                          

    -> Cno int,                                                          

    -> Score int,                                                        

    -> primary key (Sno,Cno)                                             

    -> );                                                                

Query OK, 0 rows affected (0.01 sec)

#学生选课表SC中插入数据

mysql> insert into SC values(1,1,90);                                    

mysql> insert into SC values(2,2,80);                                    

mysql> insert into SC values(3,3,85);                                    

mysql> insert into SC values(4,3,95);                                    

mysql> insert into SC values(5,1,87);                                    

#查询学生选课表SC中的内容

mysql> select * from SC;

#在MySQL中,可以使用 create index 语句来创建索引。在默认情况下,MySQL会对索引进行升序排序。

#创建索引的用法:create index on index_name on  table_name ( column_list );

#在这个格式中,index_name是我们想要创建的索引的名称,table_name 是我们想要在其上创建索引的表的名称,column_list是我们想要索引的列的列表。

mysql> create index SC_INDEX on SC(Sno,Cno);

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

#创建课程表Course

mysql> create table Course(                                              

    -> Cno int primary key,                                              

    -> Cname varchar(30)                                                 

    -> );                                                                

Query OK, 0 rows affected (0.01 sec)

#课程表Course中插入数据

mysql> insert into Course values(01,'计算机');                           

mysql> insert into Course values(02,'英语');                                                                           mysql> insert into Course values(03,'数学');                             

#查询课程表的数据

mysql> select * from Course;

#在MySQL中,可以使用create view...as 语句来创建视图。视图是一种虚拟表,基于SQL语句的结果集。视图包含行和列,就像真实的表一样。视图中的字段来自数据库中的一个或多个真实表。

mysql> create view v_Stu_SC_C as (select Sname 姓名,Ssex 性别,Cname 课程号,Score 成绩 from Student Stu inner join SC on Stu.Sno=SC.Sno inner join   Course C on SC.Cno=C.Cno);

SQL语句分析:涉及三张表的连接,因为选课表SC中的Sno与学生表Sno数据一致,SC表中的Cno与课程表Cno数据一致,所以选课表SC表当作中间参数,连接另外两张表

mysql> select Sname 姓名,Ssex 性别,Cname 课程号,Score 成绩 from Student Stu inner join SC on Stu.Sno=SC.Sno inner join Course C on SC.Cno=C.Cno;

#描述视图表v_Stu_SC_C的结构

mysql> desc v_Stu_SC_C;

 #查询视图表v_Stu_SC_C中的内容

mysql> select * from v_Stu_SC_C;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DolphinDB学习(0):DolphinDB基本概述

DolphinDB的学习难度不小,主要是写法比较多,官方示例是一次性给一大堆代码,在没有成体系的学习基础的前提下,总有种力不从心的感觉,所以博主汇总这一个系列的文章,尝试从最简单的基础常规操作开始&#xff…

css绘制下拉框头部三角(分实心/空心)

1:需求图: 手绘下拉框 带三角 2:网上查了一些例子,但都是实心的, 可参考,如图: (原链接: https://blog.csdn.net/qq_33463449/article/details/113375804) 3:简洁版的: a: 实心: <view class"angle"/>.angle{width:0;height:0;border-left: 10px solid t…

安全基础~攻防特性3

文章目录 SSTI(模板注入)1. 简介2. 成因3. 常见框架存在注入4. 判断存在SSTI SSTI(模板注入) 1. 简介 (Server-Side Template Injection) 服务端模板注入 1、使用框架&#xff08;MVC的模式&#xff09;&#xff0c;如python的flask&#xff0c;php的tp&#xff0c;java的sp…

Flask 3.x log全域配置(包含pytest)

最近使用到flask3.x&#xff0c;配置了全域的log&#xff0c;这边记录下 首先需要创建logging的配置文件&#xff0c;我是放在项目根目录的&#xff0c; Logging 配置 logging.json {"version": 1, # 配置文件版本号"formatters": {"default&qu…

目标检测难题 | 小目标检测策略汇总

大家好&#xff0c;在计算机视觉中&#xff0c;检测小目标是最有挑战的问题之一&#xff0c;本文给出了一些有效的策略。 从无人机上看到的小目标 为了提高模型在小目标上的性能&#xff0c;本文推荐以下技术&#xff1a; 提高图像采集的分辨率 增加模型的输入分辨率 tile你…

C++PythonC# 三语言OpenCV从零开发(3):图像读取和显示

文章目录 相关链接前言Mat是什么读取图片CC#Python 灰度处理CCSharpPython 打印图像信息CCsharpPython 总结 相关链接 C&Python&Csharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程&#xff08;附带课程课件资料课件笔记&#xff09; …

项目上线存在的缓存问题以及存在的debugger和console.log等问题

下载uglifyjs-webpack-plugin插件 在vue.config文件中进行配置 publicPath: process.env.NODE_ENV production ? ./ : /,outputDir: n-sim-ipc-manage-build,productionSourceMap: false,configureWebpack: config > {//打包文件增加hashconfig.output.filename js/[nam…

微电网优化MATLAB:基于麻雀搜索算法SSA的微电网优化调度(提供MATLAB代码)

一、微网系统运行优化模型 参考文献&#xff1a; [1]李兴莘,张靖,何宇,等.基于改进粒子群算法的微电网多目标优化调度[J].电力科学与工程, 2021, 37(3):7 二、麻雀搜索算法简介 麻雀搜索算法 (Sparrow Search Algorithm, SSA) 是一种新型的群智能优化算法&#xff0c;于2020…

博达V900远程透传模块与台达PLC远程上下载程序,远程在线调试程序

准备工作 一台可联网操作的电脑一台单网口的远程透传网关及博达远程透传配置工具网线一条&#xff0c;用于实现网络连接和连接PLC一台台达PLC及其编程软件WPLSoft一张4G卡或WIFI天线实现通讯(使用4G联网则插入4G SIM卡&#xff0c;WIFI联网则将WIFI天线插入USB口&#xff09; …

利用Pytest插件pytest-asyncio实现异步代码测试

在现代异步编程的时代,Python中的 pytest-asyncio 插件为我们提供了在异步代码中进行测试的强大工具。本文将深入介绍 `pytest-asyncio` 插件的基本用法和实际案例,助你更好地理解和运用异步测试。 什么是pytest-asyncio? pytest-asyncio 是Pytest的一个插件,它为异步代码…

免费的几个站群更新软件【2024】

在网站运营的过程中&#xff0c;及时更新和维护是保持网站活力和吸引用户的关键。站群更新软件成为了许多站长的首选&#xff0c;能够帮助批量管理网站、自动更新原创文章&#xff0c;并通过主动推送服务向各大搜索引擎提交信息。本文将专心分享四款卓越的站群更新软件&#xf…

上门按摩系统的开发对于按摩行业有哪些意义

随着科技的迅猛发展&#xff0c;人们的生活水平逐渐提高&#xff0c;对健康与舒适的需求也日益增强。作为古老而又充满现代感的保健方式&#xff0c;按摩已受到广大民众的喜爱与接纳。然而&#xff0c;传统的按摩店往往需要顾客亲自上门&#xff0c;这对于忙碌的上班族或行动不…

按照要求完成如下DQL语句编写

题目来源于黑马MySQL 创建表格&#xff1a; CREATE TABLE TB_EMPLOYEE(ID INT COMMENT 编号,WORK_NO VARCHAR(10) COMMENT 工号,NAME VARCHAR(10) COMMENT 姓名,GENDER CHAR COMMENT 性别,AGE TINYINT UNSIGNED COMMENT 年龄,ID_CARD CHAR(18) COMMENT 身…

前端基础知识:html表格

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title> html表格</title> </head> <style&…

第五篇:其他窗口部件 QAbstractButton

QAbstractButton QAbstractButton 类是按钮部件的抽象基类&#xff0c;提供了按钮的通用功能。它的子类包括标准按钮 QPushButton、工具按钮 QToolButton、复选框 QCheckBox和单选按钮 QRadioButton 等。 QPushButton QPushButton 提供了创建交互按钮的基本功能。它可以包含…

还在手动复制文章吗?教你如何一键将文章从notion同步到WordPress

本文会给大家介绍如何在WordPress上安装一个插件&#xff0c;实现将notion上写的文章自动同步到WordPress上&#xff0c;从而提高写作效率&#xff0c;接下来请跟随我的脚步一起来操作吧&#xff01; 一、插件安装 在WordPress后台添加新插件页面中搜索“notion”&#xff0c;…

J4 - ResNet与DenseNet结合

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 目录 环境模型设计模型效果展示总结与心得体会 环境 系统: Linux语言: Python3.8.10深度学习框架: Pytorch2.0.0cu118显卡&#xff1a;GT…

【JavaScript】日程管理系统 页面案例开发

文章目录 一、登录页及校验二、注册页及校验 一、登录页及校验 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>日程管理登录</title><style>.ht {text-align: center;color: cadetblue;f…

商务与经济统计:中英文转换

数据分析基础中英文转换 Chap 1 数据与统计资料 Data and Statistics 1.2 数据 Data 数据集 Data Sets 个体 Element 变量 Variables 观测值 Observations 测量尺度 Scales of Measurement&#xff1a; 名义尺度 Nominal Scale 顺序尺度 Ordinal Scale 区间尺度 Interval…

数据结构之set类

set类 set 是集合类。这个类很特别&#xff0c;它是唯一坚决追求“特立独行”的数据类型。在这里&#xff0c;你没办法找到两个一样的值&#xff0c;即使强硬赋予&#xff0c;它也会强硬剔除&#xff0c;也就是去重&#xff0c;一个非常实用的技能&#xff0c;这也是 set 类存…