首页 > 数据库 >数据库实验一

数据库实验一

时间:2024-05-17 11:41:38浏览次数:13  
标签:-- sno 数据库 grade course 实验 sc cno

在 stumanage 数据库中,如下图建立表 student: 列名 数据类型 允许空 主键 说明 1 sno Char(8) 否 是 学号 2 sname Varchar(20) 是 否 姓名 3 sex Char(2) 是 否 性别 4 sdept Varchar(20) 是 否 所在系 如下图建立表:course 列名 数据类型 允许空 主键 说明 1 cno Char(6) 否 是 课程号 2 cname Varchar(20) 是 否 课程名 如下图建立表 sc:(注:包括两个外键,sno 和 cno 共同组成主键)2 列名 数据类型 允许空 主键 外键 说明 1 sno Char(8) 否 是 students(sno) 学号 2 cno Char(6) 否 是 course(cno) 课程号 3 grade int 否 否 否 成绩 6、将三条建表语句写入实验报告。 7、在 student 表中插入两条数据: (1)20050101,王飞,男,计算机系 (2)20050102,李丽,女,信息系 8、在 course 表中插入两条数据: (1)01,数据结构 (2)02,数据库原理 9、在 sc 表中插入两条数据: (1)20050101,01,70 (2)20050102,02,90 10、将此八条 SQL 语句写入实验报告。 11、对每一门课,求学生的平均成绩,并把结果以基本表的形式存入数据库。将操 作命令和所用 SQL 语句写入实验报告。 12、修改 sc 表中 sno 为 20050102、cno 为 02 的记录的 grade 属性值为 85,然后将 该条记录删除。将此两条 SQL 语句写入实验报告。 13、修改‘数据库原理’课程的所有学生成绩为 0。将此条 SQL 语句写入实验报告。 14、删除‘李丽’的所有选课情况。将此条 SQL 语句写入实验报告。 15、删除数据库中的三个表中的所有数据,将所用 SQL 语句写入实验报告。 16、删除数据库中的三个表结构。将所用 SQL 语句写入实验报告。 17、删除数据库,将所用语句写入实验报告。    

1、建立表 student

CREATE TABLE student (

    sno CHAR(8) NOT NULL PRIMARY KEY,  -- 学号,主键,不能为空

    sname VARCHAR(20),                 -- 姓名,可以为空

    sex CHAR(2),                       -- 性别,可以为空

    sdept VARCHAR(20)                  -- 所在系,可以为空

);

2、建立表:course

CREATE TABLE course (

    cno CHAR(6) NOT NULL PRIMARY KEY,  -- 课程号,主键,不能为空

    cname VARCHAR(20)                  -- 课程名,可以为空

);

3、建立表 sc

CREATE TABLE sc (

    sno CHAR(8) NOT NULL,             -- 学号,不能为空

    cno CHAR(6) NOT NULL,             -- 课程号,不能为空

    grade INT NOT NULL,               -- 成绩,不能为空

    PRIMARY KEY (sno, cno),           -- 复合主键,由学号和课程号共同组成

    FOREIGN KEY (sno) REFERENCES student(sno),   -- 外键,引用 student 表的 sno 列

    FOREIGN KEY (cno) REFERENCES course(cno)     -- 外键,引用 course 表的 cno 列

);

4、在 student 表中插入两条数据:

INSERT INTO student (sno, sname, sex, sdept) VALUES

('20050101', '王飞', '男', '计算机系'),

('20050102', '李丽', '女', '信息系');

5、在 course 表中插入两条数据:

INSERT INTO course (cno, cname) VALUES

('01', '数据结构'),

('02', '数据库原理');

6、在 sc 表中插入两条数据:

INSERT INTO sc (sno, cno, grade) VALUES

('20050101', '01', 70),

('20050102', '02', 90);

11、首先,创建一个表用于存储每门课程的平均成绩:

CREATE TABLE course_avg_grade (

    cno CHAR(6) PRIMARY KEY,

    avg_grade DECIMAL(5, 2)

);

计算每门课程的平均成绩并插入到 course_avg_grade 表中:

INSERT INTO course_avg_grade (cno, avg_grade)

SELECT cno, AVG(grade) AS avg_grade

FROM sc

GROUP BY cno;

查看存储的平均成绩数据:

SELECT * FROM course_avg_grade;

 

12、-- 修改成绩为 85

UPDATE sc

SET grade = 85

WHERE sno = '20050102' AND cno = '02';

 

-- 删除记录

DELETE FROM sc

WHERE sno = '20050102' AND cno = '02';

13、UPDATE sc

SET grade = 0

WHERE cno = '02';

14、DELETE FROM sc

WHERE sno = '20050102';

15、DELETE FROM student;

DELETE FROM course;

DELETE FROM sc;

16、DROP TABLE  student;

DROP TABLE  course;

DROP TABLE  sc;

17、DROP DATABASE  stumanage;

标签:--,sno,数据库,grade,course,实验,sc,cno
From: https://www.cnblogs.com/yuanxinglan/p/18197550

相关文章

  • GreatSQL数据库DROP表后无法重建
    一、数据库信息:数据库版本:5.7.21-log某银行测试数据库,APP业务库内有一个含有大量(几百个)分区表的大表test_app。DROP该分区表的大表后导致无法重建该分区表。二、问题描述:客户使用“droptabletest_app;”时,显示表删除成功。当重新执行该表的建表语句时,报错“Table'app.test_......
  • iFlow实验笔记
    一、架构设计与仿真1架构设计因为我参加了第六期一生一芯,因此使用自己的设计。芯片架构图如下,采用RISCV32IE指令集,并包括ZiCSR指令拓展。由于一生一芯的宗旨是先完成后完美,而我正在进行SoC计算机系统的搭建,通过AXI4总线Xbar接入SoC部分。因此CPU的微架构比较简单,还未引入流水......
  • 使用SaveChanges()更新数据库失败
    item.ModelType=TestCase.ModelType;item.TestType=TestCase.TestType;item.TestCaseType=TestCase.TestCaseType;item.TestCaseName=TestCase.TestCaseName;item.TestDescribe=TestCase.......
  • 电子设计自动化实验报告
    本文内容基于电子设计自动化老师发的实验报告模板,内容仅供参考。实验一:LED流水灯设计一、实验目的熟悉QuartusII开发环境掌握FPGA开发流程二、实验内容及原理1.实验内容通过设计计数器,实现LED流水灯的效果2.实验原理LED硬件电路从上面的LED部分原理图可......
  • DBA(Database Administrator)数据库运维-mysql
    一、开篇1、版本选择1、企业版2、社区版MySQL社区版则是由分散在世界各地的MySQL开发者、爱好者以及用户参与开发与测试的,包括软件代码的管理、测试工作,也是他们在负责。社区也会设立BUG汇报机制,收集用户在使用过程中遇到的BUG情况,相比于企业版,社区版的开发及测试环境没有那么......
  • 电子设计自动化-实验报告
    实验一:LED流水灯设计一、实验目的熟悉QuartusII开发环境掌握FPGA开发流程二、实验内容及原理实验内容通过设计计数器,实现LED流水灯的效果实验原理LED硬件电路Fig.2.1AX301开发板LED部分原理图从上面的LED部分原理图可以看出,LED电路有两个方式,AX301......
  • 数据库索引
    一.什么是索引1.索引是一种数据结构(定义)2.索引是在表的字段上创建的3.索引包含了一列值,这个值保存在一个数据结构中二.索引作用1.保证数据记录的唯一行2.实现表与表之间的参照性3.减少排序和分组的时间(如使用orderby,groupby语句进行数据查询时)4.可以使用索引快速访问......
  • rm -rf误删Oracle数据库恢复---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:rm-rf误删Oracle数据库恢复作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]有客户把虚拟化环境中装有oracle数据库的linux操作系统,由于操作失误在/下面执行了rm-rf*,导致所有文件......
  • 数据库视图
    1.什么是视图?视图是一个虚拟表,它不在数据库中以存储的形式保存(本身不含数据),在使用视图的时候动态生成。2.视图的优点2.1.提高了查询效率数据库中的数据查询非常复杂,可以简化sql语句2.2安全有些保密字段,可以通过创建视图限制用户对某些字段进行操作。2.3简单不需要关心后买......
  • Python查询PostgreSQL数据库
    哈喽,大家好,我是木头左!Python与PostgreSQL的连接需要了解如何在Python中连接到PostgreSQL数据库。这通常涉及到使用一个库,如psycopg2,它是Python中用于PostgreSQL的最流行的适配器。安装psycopg2非常简单,可以通过pip进行安装:pipinstallpsycopg2安装完成后,可以使用以下代码......