当前位置: 首页 > news >正文

数据库实验:SQL的数据定义与单表查询

目录

  • 实验目的
  • 实验内容
  • 实验要求
  • 实验过程
    • 实验步骤
    • 实例代码
    • 结果示意

数据库的实验,对关系型数据库MySQL进行一些实际的操作

实验目的

(1) 掌握DBMS的数据定义功能
(2) 掌握SQL语言的数据定义语句
(3) 掌握RDBMS的数据单表查询功能
(4) 掌握SQL语言的数据单表查询语句

实验内容

(1) 创建、删除表
(2) 查看、修改表的定义
(3) 理解索引的特点
(4) 创建和删除索引
(5)SELECT语句的基本用法
(6)使用WHERE子句进行有条件的查询
(7)使用IN,NOT IN,BETWEEN AND等谓词查询
(8)利用LIKE子句实现模糊查询
(9)利用ORDER BY子句为结果排序
(10)用SQL Server的聚集函数进行统计计算
(11)用GR0UP BY子句实现分组查询的方法

实验要求

(1) 熟练掌握SQL的数据定义语句CREATE、ALTER、DROP
(2) 熟练掌握SQL的数据查询语句SELECT

实验过程

实验步骤

设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC:
学生表:Student(Sno,Sname,Ssex,Sage,Sdept)
课程表:Course(Cno,Cname,Cpno,Ccredit)
学生选课表:SC(Sno,Cno,Grade)
(1) 用查询分析器创建、删除表
(2) 查看、修改表的定义
(3) 创建和删除索引
(4) 删除表
利用SQL Server集成管理器(简称SSMS)交互式创建数据库S_T2;
(6)将S_T设为当前数据库
(7)创建3个表
(8)在3个表中添加示例数据(任选一种数据添加方法)
表Student
| Sno | 姓名 |
Sname | 性别
Ssex 年龄
Sage 所在系
Sdept
200215121 李勇 男 20 CS
200215122 刘晨 女 19 CS
200215123 王敏 女 18 MA
200215125 张立 男 19 IS

表Course
课程号
Cno 课程名
Cname 现行课
Cpno 学分
Ccredit
1 数据库 5 4
2 数学 2
3 信息系统 5 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理 2
7 PASCAL语言 6 4

表SC
学号
Sno 课程号
Cno 成绩
Grade
200215121 1 92
200215121 2 85
200215121 3 88
200215122 2 90
200215122 3 80
(9) 对学生关系Student、课程关系Course和选修关系SC进行查询。

实例代码

Create Database S_T1;
CREATE TABLE Student(Sno       CHAR(9)  NOT NULL  UNIQUE, Sname     CHAR(20)  UNIQUE,          Ssex      CHAR(1),Sage      INT,Sdept    CHAR(15)) 
create table Course (Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno));
CREATE TABLE SC(Sno CHAR(9),Cno CHAR(3), Grade   int,Primary key (Sno, Cno));
DROP TABLE Student; 
ALTER TABLE Student ADD Scome DATETIME;
ALTER TABLE Student modify COLUMN Sage SMALLINT;
CREATE UNIQUE INDEX  Stusno ON Student(Sno);
CREATE UNIQUE INDEX Coucno ON Course(Cno);
CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);
DROP INDEX  Stusno ON Student;
use S_T2;
create table Student (Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));
/*表Student的主码为Sno,属性列Sname取唯一值*/
create table Course (Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno));
/*表Course的主码为Cno,属性列Cpno(先修课)为外码,被参照表为Course,被参照列是Cno*/
create table SC (Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,primary key (Sno, Cno),FOREIGN KEY (Sno) REFERENCES Student(Sno),FOREIGN KEY (Cno) REFERENCES Course(Cno));
use S_T;/*将S_T设为当前数据库*/
insert into student values(200215121,’李勇’,'男',20,'CS');
insert into student values(200215122,'刘晨','女',19,'CS');
insert into student values(200215123,'王敏','女',18,'MA');
insert into student values(200215125,'张立','男',19,IS);
go
/*为表Student添加数据*/
insert into course values('1', '数据库', NULL,4);
insert into course values('2', '数学',  NULL,2);
insert into course values('3', '信息系统', NULL,4);
insert into course values('4', '操作系统', NULL,3);
insert into course values('5', '数据结构', NULL,4);
insert into course values('6', '数据处理', NULL, 2);
insert into course values('7', 'java',  NULL,4);
go
update Course set Cpno = '5' where Cno = '1';
update Course set Cpno = '1' where Cno = '3';
update Course set Cpno = '6' where Cno = '4';
update Course set Cpno = '7' where Cno = '5';
update Course set Cpno = '6' where Cno = '7';
/*为表Course添加数据*/
go
insert into SC values('200215121', '1',92);
insert into SC values('200215121', '2',85);
insert into SC values('200215121', '3',88);
insert into SC values('200215122', '2',90);
insert into SC values('200215122', '3',80);
insert into SC values('200215123','2',92);
SELECT  Sno,Sname,Ssex,Sage,Sdept 
FROM Student;
SELECT Student.Sno, student.Sname
FROM    Student, SC
WHERE Student.Sno = SC.Sno AND  SC.Cno= '2' AND  SC.Grade > 90
SELECT Sname,Ssex
FROM  Student
WHERE Sdept IN ( 'IS','MA','CS' )
SELECT Sname,Sdept,Sage
FROM   Student
WHERE Sage BETWEEN 20 AND 23
SELECT Sname,Sno,Ssex
FROM Student
WHERE  Sname LIKE '刘%'
SELECT Sno,Grade
FROM  SC
WHERE  Cno= '3'
ORDER BY Grade DESC
SELECT AVG(Grade)
FROM SC
WHERE Cno= '1' SELECT Sno
FROM  SC
GROUP BY Sno
HAVING  COUNT(*) >3

结果示意

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

数据库实验:SQL的数据定义与单表查询

目录 实验目的实验内容实验要求实验过程实验步骤实例代码结果示意 数据库的实验,对关系型数据库MySQL进行一些实际的操作 实验目的 (1) 掌握DBMS的数据定义功能 (2) 掌握SQL语言的数据定义语句 (3) 掌握RDBMS的数据单表查询功能 (4) 掌握SQL语言的数据单表查询语句…...

P3398 仓鼠找 sugar

Portal. LCA。 询问树上两条路径是否有交点。 画图发现无非两种情况: 发现一条路径的起点和终点的 LCA 经过另一条路径,是两路径相交的充要条件。 考虑如何判断这个 LCA 在不在路径上。若 d ( s , LCA ) d ( LCA , t ) d ( s , t ) d(s,\text{LCA…...

C# 发送邮件

1.安装 NuGet 包 2.代码如下 SendMailUtil using MimeKit; using Srm.CMER.Application.Contracts.CmerInfo; namespace Srm.Mail { public class SendMailUtil { public async static Task<string> SendEmail(SendEmialDto sendEmialDto,List<strin…...

Zeal下载文档慢的问题

1. 安装Zeal 官方下载网站&#xff1a; https://zealdocs.org/ 2. 安装文档&#xff08;在线安装方式&#xff09;&#xff08;下载速度非常慢&#xff09; Tools - Docsets Available中下载安装对应的文档 3. 安装文档&#xff08;离线安装方式&#xff09; ①下载文档…...

HR模块开发(1):简单的开发流程和注意事项

HR模块开发 一、模块概述 人力资源管理解决方案关注3个领域:每位雇员都发展和维护着‘公司内’和‘公司外’的种种‘关系’。运用科技,强化这些关系,可以提高忠诚度和生产力,公司整体得到商业价值。 员工关系管理员工职业生命周期管理员工事务处理管理HR模块的基本知识和构…...

创建Vue实例

我们已经知道了Vue框架可以 基于数据帮助我们渲染出用户界面&#xff0c;那应该怎么做呢&#xff1f; 核心步骤&#xff08;4步&#xff09;&#xff1a; 准备容器 引包&#xff08;官网&#xff09; — 开发版本/生产版本 创建Vue实例 new Vue() 指定配置项&#xff0c;渲…...

2024上海国际人工智能展(CSITF)以“技术,让生活更精彩”为核心理念,以“创新驱动发展,保护知识产权,促进技术贸易”为主题

2024上海国际人工智能展&#xff08;CSITF&#xff09; China&#xff08;Shanghai&#xff09;International Technology Fair 时间:2024年6月12-14日 地点:上海世博展览馆 主办单位 中华人民共和国商务部 中华人民共和国科学技术部 中华人民共和国国家知识产权局 上海市…...

Vue3使用Monaco-editor

Monaco-editor&#xff0c;一个vs code 编辑器&#xff0c;需要将其集成到项目。不说闲话了&#xff0c;直接上代码。 npm地址&#xff1a;https://www.npmjs.com/package/monaco-editor 中文文档&#xff1a;https://aydk.site/editor/ 安装&#xff1a; pnpm add monaco…...

java 根据ip获取到城市 GeoLite2-City.mmdb

本文可解决 根据ip定位获取不到问题&#xff0c;提供多种方式仅供参考&#xff1a; 1.选型 1.1 实现方式 Java可以实现IP地址解析和省市区信息查询&#xff0c;但是需要借助一些外部数据源或数据库来实现。常用的方法有以下几种&#xff1a; 1.1.1 本地文件解析 可以通过下…...

kaggle使用说明

kaggle kaggle使用参考1、kaggle目录2、kaggle上传本地文件后&#xff0c;如何不改代码就可运行3、已上传文件的修改3.1 重新上传3.2 重写文件 4、创建文件夹5、结果下载5.1 多文件&#xff1a;先打包再下载5.2 重定文件下载链接 kaggle使用参考 Kaggle 新手入门必看&#xff…...

BUUCTF FLAG 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 注意&#xff1a;请将 hctf 替换为 flag 提交&#xff0c;格式 flag{} 密文&#xff1a; 下载附件&#xff0c;得到一张.png图片。 解题思路&#xff1a; 1、因为附件是一张图片&#xff0c;先放到StegSolve中&…...

万物皆可“云” 从杭州云栖大会看数智生活的未来

文章目录 前言一、云栖渐进&#xff1a;一个科技论坛的变迁与互联网历史互联网创新创业飞天进化飞天智能驱动数字中国 二、2023云栖大会&#xff1a;云计算人工智能 玩出科技跨界新花样大会亮点重磅嘉宾热门展览算力馆人工智能馆产业创新馆 总结 前言 10月31日&#xff0c;202…...

LeetCode1518 换水问题

题目描述 超市正在促销&#xff0c;你可以用 numExchange 个空水瓶从超市兑换一瓶水。最开始&#xff0c;你一共购入了 numBottles 瓶水。 如果喝掉了水瓶中的水&#xff0c;那么水瓶就会变成空的。 给你两个整数 numBottles 和 numExchange &#xff0c;返回你 最多 可以喝…...

强大日志查看器,助力数据联动分析

前言 我们曾讨论过观测云查看器强大的查询筛选和搜索功能&#xff0c;能够帮助用户快速、精准地检索数据&#xff0c;定位故障问题&#xff08;参见《如何使用查看器筛选、搜索功能进行数据定位&#xff1f;》&#xff09;。除此之外&#xff0c;日志查看器不仅可以帮助我们收…...

HIBS一些简介

文章目录 距离发展&#xff1a;意义使用挑战安全IOT活动服务频带可行性频谱 距离 海拔约20KM的平流层中&#xff0c;国际电联无线电条例&#xff08;RR&#xff09;将HAPS定义为位于20-50公里高度和相对于地球的指定标称固定点的物体上的无线电台。 #高空平台作为IMT基站(HIB…...

OpenCV实现人脸关键点检测

目录 实现过程 1&#xff0c;代码解读 1.1 导入工具包 1.2导入所需图像&#xff0c;以及训练好的人脸预测模型 1.3 将 dlib 的关键点对象转换为 NumPy 数组&#xff0c;以便后续处理 1.4图像上可视化面部关键点 1.5# 读取输入数据&#xff0c;预处理 1.6进行人脸检测 1…...

300万美元!澳大利亚昆士兰州投资当地首家量子公司AQC

澳大利亚模拟量子电路公司&#xff08;AQC&#xff09;联合创始人 Tom Stace 教授和 Arkady Federov 副教授&#xff08;图片来源&#xff1a;网络&#xff09; 澳大利亚风险投资基金会Uniseed为澳大利亚昆士兰大学的两名教授提供了300万美元的资金&#xff0c;资助他们创办了…...

Android Studio打包AAR

注意 依赖的Android Studio版本为4.2.2 更高的Android Studio版本使用方法可能有所不同&#xff0c;gradle的版本和gradle plugins的版本都会影响使用方式。 基于此&#xff0c;本文只能作为参考&#xff0c;而不能作为唯一答案&#xff0c;如果要完全依赖本文&#xff0c;则…...

【Python基础知识四】控制语句

Python基础知识&#xff1a;控制语句 1 条件控制1.1 if语句1.2 match...case语句 2 循环语句2.1 for循环2.2 for...else语句2.3 while循环2.4 while 循环使用 else 语句2.5 无限循环2.6 break 和 continue 语句及循环中的 else 子句2.6.1 break语句2.6.2 continue语句 2.7 pass…...

Jmeter压测 —— 1秒发送1次请求

场景&#xff1a;有时候测试场景需要设置请求频率为一秒一次&#xff08;或几秒一次&#xff09;实现方法一&#xff1a;1、首先需要在线程组下设置循环次数&#xff08;可以理解为请求的次数&#xff09; 次数设置为请求300次&#xff0c;其中线程数跟时间自行设置 2、在设置…...

HunyuanVideo-Foley环境音生成挑战赛:最佳提示词与生成作品赏析

HunyuanVideo-Foley环境音生成挑战赛&#xff1a;最佳提示词与生成作品赏析 1. 挑战赛背景与规则 最近&#xff0c;一场以"城市夜晚"为主题的HunyuanVideo-Foley环境音生成挑战赛吸引了众多音频创作者参与。这场赛事要求参赛者使用HunyuanVideo-Foley系统&#xff…...

重新定义开源RTS体验:Beyond All Reason深度技术解析

重新定义开源RTS体验&#xff1a;Beyond All Reason深度技术解析 【免费下载链接】Beyond-All-Reason www.beyondallreason.info 项目地址: https://gitcode.com/gh_mirrors/be/Beyond-All-Reason Beyond All Reason是一款基于Spring引擎开发的开源实时战略游戏&#xf…...

如何利用WiFi信号实现无摄像头人体姿态跟踪:RuView完整指南

如何利用WiFi信号实现无摄像头人体姿态跟踪&#xff1a;RuView完整指南 【免费下载链接】RuView Production-ready implementation of InvisPose - a revolutionary WiFi-based dense human pose estimation system that enables real-time full-body tracking through walls u…...

从Proteus仿真到普中开发板烧录:51单片机抢答器完整开发流程避坑指南

从Proteus仿真到普中开发板烧录&#xff1a;51单片机抢答器完整开发流程避坑指南 在电子设计的学习道路上&#xff0c;51单片机项目开发是一个经典的入门实践。抢答器作为典型的互动式电子系统&#xff0c;涵盖了输入检测、逻辑控制、显示输出等核心知识点&#xff0c;是检验学…...

Petalinux 2018.3实战:解决ZYNQ u-boot环境变量保存失败与NFS挂载报错

Petalinux 2018.3实战&#xff1a;解决ZYNQ u-boot环境变量保存失败与NFS挂载报错 在嵌入式Linux开发中&#xff0c;Xilinx ZYNQ系列芯片因其强大的可编程逻辑与ARM处理器的完美结合而广受欢迎。然而&#xff0c;即便是经验丰富的工程师&#xff0c;在使用Petalinux工具链进行开…...

WarcraftHelper:魔兽争霸3现代系统兼容性优化终极指南 [特殊字符]

WarcraftHelper&#xff1a;魔兽争霸3现代系统兼容性优化终极指南 &#x1f3ae; 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在现…...

如何用DiffSynth Studio实现AI舞蹈动作生成与舞台效果可视化:完整指南

如何用DiffSynth Studio实现AI舞蹈动作生成与舞台效果可视化&#xff1a;完整指南 【免费下载链接】DiffSynth-Studio DiffSynth Studio 是一个扩散引擎。我们重组了包括 Text Encoder、UNet、VAE 等在内的架构&#xff0c;保持了与开源社区模型的兼容性&#xff0c;同时提高了…...

BLIP-Diffusion实战解析:如何通过预训练主题表示实现高效可控的图像生成

1. BLIP-Diffusion的核心创新点解析 第一次看到BLIP-Diffusion这个模型时&#xff0c;最让我惊讶的是它解决了一个困扰行业多年的难题&#xff1a;如何在不需要反复微调的情况下&#xff0c;让AI生成的图像既保持输入主题的特征&#xff0c;又能灵活响应文本指令。这就像教一个…...

终极存储设备容量检测指南:如何用F3工具3分钟识别假冒U盘和SD卡

终极存储设备容量检测指南&#xff1a;如何用F3工具3分钟识别假冒U盘和SD卡 【免费下载链接】f3 F3 - Fight Flash Fraud 项目地址: https://gitcode.com/gh_mirrors/f3/f3 在数字存储时代&#xff0c;容量造假已成为困扰用户的普遍问题。F3&#xff08;Fight Flash Fra…...

硬件突破:用OpenCore Legacy Patcher实现旧Mac的焕新体验

硬件突破&#xff1a;用OpenCore Legacy Patcher实现旧Mac的焕新体验 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher是一款强大的开源工具&#…...