数据库系统原理实验1:创建数据库、数据表及单表查询

一、实验目的

1.掌握在SQL Server中使用对象资源管理器和SQL命令创建数据库与修改数据库的方法。

2.掌握在SQL Server中使用对象资源管理器或者SQL命令创建数据表和修改数据表的方法(以SQL命令为重点)。

3.掌握无条件查询的使用方法。

4.掌握条件查询的使用方法。

二、实验内容

给定如表3.6、表3.7和表3.8所示的学生信息。

表3.6  学生表

学号

姓名

性别

专业班级

出生日期

联系电话

0433

张艳

生物04

1986-9-13

0496

李越

电子04

1984-2-23

1381290××××

0529

赵欣

会计05

1984-1-27

1350222××××

0531

张志国

生物05

1986-9-10

1331256××××

0538

于兰兰

生物05

1984-2-20

1331200××××

0591

王丽丽

电子05

1984-3-20

1332080××××

0592

王海强

电子05

1986-11-1

表3.7  课程表

课程号

课程名

学分数

学时数

任课教师

K001

计算机图形学

2.5

40

胡晶晶

K002

计算机应用基础

3

48

任泉

K006

数据结构

4

64

马跃先

M001

政治经济学

4

64

孔繁新

S001

高等数学

3

48

赵晓尘

表3.8  学生作业表

课程号

学号

作业1成绩

作业2成绩

作业3成绩

K001

0433

60

75

75

K001

0529

70

70

60

K001

0531

70

80

80

K001

0591

80

90

90

K002

0496

80

80

90

K002

0529

70

70

85

K002

0531

80

80

80

K002

0538

65

75

85

K002

0592

75

85

85

K006

0531

80

80

90

K006

0591

80

80

80

M001

0496

70

70

80

M001

0591

65

75

75

S001

0531

80

80

80

S001

0538

60

80

1.在SQL Server中使用对象资源管理器和SQL命令创建学生作业管理数据库,数据库的名称设置为学号姓名。

(1)使用对象资源管理器创建数据库,请给出重要步骤的截图。

1)创建数据库,输入数据库名称为学号姓名,点击添加按钮:

2)添加完成后即可在数据库中看到已添加的数据库。

(2)删除第(1)步创建的数据库,再次使用SQL命令创建数据库,请给出SQL代码。

1)删除上一步创建的数据库,选中数据库右键删除即可。

2)使用SQL命令创建数据库,SQL代码如下:

create database 你的学号姓名

执行此段代码后,刷新即可成功创建数据库。

(3)创建数据库之后,如果有需要,可以修改数据库。

2.对表3.6,表3.7和表3.8,分别以下表的方式给出各字段的属性定义和说明。

(1)对表3.6进行定义说明,见下表3.6.1

表3.6.1 学生表

字段名

数据类型

长度或者精度

默认值

完整性约束

id

varchar

10

Not null

Primary key

name

varchar

10

null

sex

varchar

5

null

class

varchar

10

null

birth

varchar

15

null

phone

varchar

20

null

(2)对表3.7进行定义说明,见下表3.7.1

表3.7.1 课程表

字段名

数据类型

长度或者精度

默认值

完整性约束

CourseId

varchar

10

Not null

Primary key

CourseName

varchar

MAX

null

credit

float

null

time

int

null

teacher

varchar

10

null

(3)对表3.8进行定义说明,见下表3.8.1

表3.8.1 作业表

字段名

数据类型

长度或者精度

默认值

完整性约束

CourseId

varchar

10

Not null

Primary key

id

varchar

10

Not null

Primary key

Score1

int

null

Score2

int

null

Score3

int

null

3.使用SQL命令在学生作业管理数据库中建立学生表、课程表和学生作业表,在实验报告中给出SQL代码。

(1)建立学生表,SQL代码如下:

CREATE TABLE 学生表

(

    id VARCHAR(10) NOT NULL,

    name VARCHAR(10) NULL,

    sex VARCHAR(5) NULL,

    class VARCHAR(10) NULL,

    birth VARCHAR(15) NULL,

    phone VARCHAR(20) NULL,

    CONSTRAINT 学生表_pk PRIMARY KEY (id)

);

(2)执行上述代码,刷新即可看到建立的学生表,如下图所示:

2.建立课程表,SQL代码如下:

CREATE TABLE 课程表

(

    CourseId VARCHAR(10) NOT NULL,

    CourseName VARCHAR(MAX) NULL,

    credit FLOAT NULL,

    time INT NULL,

    teacher VARCHAR(10) NULL,

    CONSTRAINT 课程表_pk PRIMARY KEY (CourseId)

);

(4)执行上述代码,刷新即可看到建立的课程表,如下图所示:

(5)建立作业表,SQL代码如下:

CREATE TABLE 作业表

(

    CourseId VARCHAR(10) NOT NULL,

    id VARCHAR(10) NOT NULL,

    score1 INT NULL,

    score2 INT NULL,

    score3 INT NULL,

    CONSTRAINT 作业表_pk PRIMARY KEY (CourseId, id)

);

(6)执行上述代码,刷新即可看到建立的作业表,如下图所示:

4.在各个表中输入表3.6、表3.7和表3.8中的相应内容。

(1)在学生表中输入表3.6的内容,如下图所示:

(2)在课程表中输入表3.7的内容,如下图所示:

(3)在作业表中输入表3.8的内容,如下图所示:

5.根据创建的学生作业管理数据库以及其中的学生表、课程表和学生作业表,进行以下的查询操作(每一个查询都要给出SQL语句,列出查询结果)。

  1. 查询各位学生的学号、班级和姓名。

i.SQL语句如下:

SELECT id, Class, Name

FROM 学生表;

ii.执行语句后,输出结果为:

  1. 查询课程的全部信息。

i. SQL语句如下:

SELECT *

FROM 课程表;

ii.执行语句后,输出结果为:

  1. 查询数据库中有哪些专业班级。

i. SQL语句如下:

SELECT DISTINCT class

FROM 学生表;

ii.执行语句后,输出结果为:

  1. 查询学时数大于60的课程信息。

i. SQL语句如下:

SELECT *

FROM 课程表

WHERE time > 60;

ii.执行语句后,输出结果为:

  1. 查询在1986年出生的学生的学号、姓名和出生日期。

i. SQL语句如下:

SELECT id, name, birth

FROM 学生表

WHERE YEAR(birth) = 1986;

ii.执行语句后,输出结果为:

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

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

相关文章

【STM32】ADC模数转换基本原理(提供完整实例代码)

这篇文章是嵌入式中我通过大量资料 整合成了一份 系统完整、层次清晰的 ADC 模数转换原理解析 文档。 这里系统地梳理了 STM32F1 系列 ADC 模数转换的核心资料,包括: 1.原理 特性 2.通道配置 3.模式选择(单次/连续/扫描) 4.关键寄…

图神经网络 gnn 应用到道路网络拓扑结构与交通碳排放相关性。,拓扑指标量化、时空关联模型及演化机制分析

针对您提出的“道路网络拓扑结构与交通碳排放相关框架,以下结合研究目标、数据与方法进行系统性深化设计,重点强化拓扑指标量化、时空关联模型及演化机制分析:一、核心研究问题深化 静态关联:不同拓扑结构(方格网/环射…

7.6 优先队列| dijkstra | hash | rust

lc1337pair存入&#xff0c;lambda sort后取出&#xff0c;最开始想用hash&#xff0c;写一半感觉写复杂了class Solution {public:vector<int> kWeakestRows(vector<vector<int>>& mat, int k) {int m mat.size();int n mat[0].size();vector<pair…

最新 HarmonyOS API 20 知识库 重磅推出

最新 HarmonyOS API 20 知识库 重磅推出 前言 最近整理下 华为开发者联盟最新的 API 20的鸿蒙应用开发文档&#xff0c;这次的API 20 相比较之前的文档&#xff0c;要多了不少内容&#xff0c;目前整理后是9000千多篇&#xff0c;不容易呀。 如何使用 基于腾讯的知识库工具 …

uniapp 监听物理返回按钮

import {onShow,onHide,onLoad,onReady,onBackPress} from "dcloudio/uni-app"onBackPress((e) > {showLog("返回按钮触发")if(e.frombackbutton){//开始干活}})参数说明属性类型说明fromString触发返回行为的来源&#xff1a;backbutton——左上角导航…

多线程(2)

多线程&#xff08;2&#xff09; &#x1f534;&#x1f7e0;&#x1f7e1;&#x1f7e2;&#x1f535;&#x1f7e3;&#x1f534;&#x1f534;&#x1f7e0;&#x1f7e1;&#x1f7e2;&#x1f535;&#x1f7e3;&#x1f534;&#x1f534;&#x1f7e0;&#x1f7e1;&am…

网关助力航天喷涂:Devicenet与Modbus TCP的“跨界对话“

在航空航天领域&#xff0c;飞机、航天器的制造过程有着极高的精度与安全性要求。以飞机、航天器表面喷涂作业为例&#xff0c;不仅要进行严格的防腐蚀处理&#xff0c;而且对表面光滑度要求极高&#xff0c;这直接关系到飞行器的空气动力学性能和使用寿命。为确保作业安全与质…

从传统项目管理到敏捷DevOps:如何转向使用DevOps看板工具进行工作流管理

在DevOps实践中&#xff0c;DevOps看板工具成为了开发与运维团队之间高效协作的关键。随着企业对敏捷开发和持续交付的需求日益增长&#xff0c;DevOps看板工具通过可视化的管理方法&#xff0c;帮助团队在繁杂的任务中保持高效的工作节奏和清晰的进度跟踪。 具体而言&#xff…

【leetcode100】下一个排列

1、题目描述 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如&#xff0c;arr [1,2,3] &#xff0c;以下这些都可以视作 arr 的排列&#xff1a;[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正…

Flink-Source算子状态恢复分析

背景 修改 source 算子 kafka_old_topic 消费任务运行一段时间后&#xff0c;暂停状态并保留。然后将 uid 和 topic 都改了&#xff0c;消费者 offset 会从 earliest 开始。 // before FlinkKafkaConsumer consumer KafkaConfig.getConsumer("kafka_old_topic");…

IDEA中application.yml配置文件不自动提示解决办法

今天在自己的电脑上使用IDEA的时候&#xff0c;发现在application配置文件里面输入配置项的时候没有提示&#xff0c;网上找了一圈也没解决&#xff0c;最后自己试出来了。 解决办法&#xff1a; 鼠标移动到配置文件上&#xff0c;单击右键-重写文件类型、选择YAML(捆绑)&#…

Vite 完整功能详解与 Vue 项目实战指南

Vite 完整功能详解与 Vue 项目实战指南 Vite 是下一代前端开发工具&#xff0c;由 Vue 作者尤雨溪开发&#xff0c;提供极速的开发体验和高效的生产构建。以下是完整功能解析和实战示例&#xff1a;一、Vite 核心功能亮点闪电般冷启动 基于原生 ES 模块&#xff08;ESM&#xf…

Vue 3 中使用路由参数跳转时 watch 触发重复请求问题详解

&#x1f4d8;Vue 3 中使用路由参数跳转时 watch 触发重复请求问题详解&#x1f516; 收藏 点赞 关注&#xff0c;掌握 Vue 3 路由参数监听中的隐藏陷阱&#xff0c;避免详情页、嵌套路由页误触发重复请求&#xff01;&#x1f9e9; 一、问题背景 在 Vue 3 项目中&#xff0c…

前端 项目更新通知 (plugin-web-update-notification)

项目版本更新迭代时&#xff0c;需提示用户更新系统&#xff0c;不然早时间不更新对用户体验很不好&#xff0c;所以在每次部署后需要提示用户&#xff0c;刷新静态资源。推荐插件 plugin-web-update-notification .具体配置 vite.config.js文件中 import { webUpdateNotice …

【力扣(LeetCode)】数据挖掘面试题0002:当面对实时数据流时您如何设计和实现机器学习模型?

文章大纲一、实时数据处理&#xff1a;构建低延迟的数据管道1. 数据接入与缓冲2. 实时清洗与校验3. 特征标准化与对齐二、模型设计&#xff1a;选择适配实时场景的模型架构1. 模型选择原则三、训练与更新策略&#xff1a;离线与在线协同&#xff0c;应对概念漂移1. 离线-在线协…

TongWeb8.0.9.0.3部署后端应用,前端访问后端报405(by sy+lqw)

问题描述&#xff1a; 客户前端部署在nginx上&#xff0c;后端部署在tongweb8上&#xff08;相当于前后端分离&#xff09;&#xff0c;登录的时候报错&#xff0c;f12看network&#xff0c;状态码405&#xff0c;如下所示&#xff1a;看console&#xff0c;如下所示&#xff1…

mysql互为主从失效,重新同步

一、分别登录服务器A和服务器B的mysqlmysql -u root -p 123456789二、分别查看数据库状态信息,下边两项参数有一项为NO就表示同步异常Slave_IO_Running:从服务器&#xff08;Slave&#xff09;中的 I/O 线程的运行状态Slave_SQL_Running:从服务器上的 SQL 线程是否正在运行mysq…

板凳-------Mysql cookbook学习 (十一--------6)

https://blog.csdn.net/weixin_43236925/article/details/146382981 清晰易懂的 PHP 安装与配置教程 12.6 查找每组行中含有最大或最小值的行 mysql> set max_price (select max(price) from painting); Query OK, 0 rows affected (0.01 sec)mysql> select artist.name…

ECS由浅入深第四节:ECS 与 Unity 传统开发模式的结合?混合架构的艺术

ECS由浅入深第一节 ECS由浅入深第二节 ECS由浅入深第三节 ECS由浅入深第四节 ECS由浅入深第五节 尽管 ECS 带来了显著的性能和架构优势&#xff0c;但在实际的 Unity 项目中&#xff0c;完全摒弃 GameObject 和 MonoBehaviour 往往是不现实的。Unity 引擎本身的大部分功能&…

Mac关闭触控板

打开 “有鼠标或无线触控板时忽略内建触控板”选项即可 参考&#xff1a;Mac如何关闭触控板防止误触&#xff1f;内置的设置就可以达成 - Mac天空