数据库原理及应用mysql版陈业斌实验一

server/2025/3/22 11:42:47/

🏝️专栏:Mysql_猫咪-9527的博客-CSDN博客
🌅主页:猫咪-9527-CSDN博客 

“欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。”

目录

实验一:数据库与数据表的定义和数据操作

1.实验数据如下

student 表(学生表)

course 表(课程表)

teacher 表(教师表)

score 表(成绩表)

2. 插入数据

student 表中的数据

course 表中的数据

teacher 表中的数据

score 表中的数据

实验内容

1-1 创建数据库和数据表的 DDL 语句

1-2 操作数据的 DML 语句


实验一:数据库与数据表的定义和数据操作

实验目的:
通过实验熟悉数据库上机环境;熟练掌握和使用 DDL,创建、修改和删除数据库和数据表;熟练掌握和使用 DML,对数据表中的数据进行增加、修改和删除操作。

1.实验数据如下

student 表(学生表)
CREATE TABLE student (sno CHAR(5) PRIMARY KEY,          -- 学号snme VARCHAR(20) NOT NULL,        -- 姓名sdept VARCHAR(20) NOT NULL,       -- 系别sclass CHAR(2) NOT NULL,          -- 班级ssex CHAR(1),                     -- 性别birthday DATE,                    -- 生日totalcredit DECIMAL(4,1)          -- 学分
);
course 表(课程表)
CREATE TABLE course (cno CHAR(3) PRIMARY KEY,cname VARCHAR(50),       ctime DECIMAL(3,0),          credit DECIMAL(3,1) 
);
teacher 表(教师表)
CREATE TABLE teacher (tno CHAR(6) PRIMARY KEY,          tname VARCHAR(20),               tsex CHAR(1),                    tdept VARCHAR(20)                 
);
score 表(成绩表)
CREATE TABLE score (sno CHAR(5),                      cno CHAR(3),                      tno CHAR(6),                     grade DECIMAL(5,1),              PRIMARY KEY (sno, cno, tno),      CONSTRAINT fk_sno FOREIGN KEY(sno) REFERENCES student(sno),CONSTRAINT fk_cno FOREIGN KEY(cno) REFERENCES course(cno),CONSTRAINT fk_tno FOREIGN KEY(tno) REFERENCES teacher(tno)
);

2. 插入数据

student 表中的数据
INSERT INTO student VALUES('96001', '马小燕', '计算机', '01', '女', '2000/01/02', 0);
INSERT INTO student VALUES('96002', '黎明', '计算机', '01', '男', '2000/03/05', 0);
INSERT INTO student VALUES('96003', '刘东明', '数学', '01', '男', '2000/10/05', 0);
INSERT INTO student VALUES('96004', '赵志勇', '信息', '02', '男', '2000/08/08', 0);
INSERT INTO student VALUES('97001', '马蓉', '数学', '02', '女', '2001/03/04', 0);
INSERT INTO student VALUES('97002', '李成功', '计算机', '01', '男', '2001/09/10', 0);
INSERT INTO student VALUES('97003', '黎明', '信息', '03', '女', '2002/02/08', 0);
INSERT INTO student VALUES('97004', '李丽', '计算机', '02', '女', '2002/01/05', 0);
INSERT INTO student VALUES('96005', '司马志明', '计算机', '02', '男', '2001/11/23', 0);
course 表中的数据
INSERT INTO course VALUES('001', '数学分析', 64, 4);
INSERT INTO course VALUES('002', '普通物理', 64, 4);
INSERT INTO course VALUES('003', '微机原理', 56, 3.5);
INSERT INTO course VALUES('004', '数据结构', 64, 4);
INSERT INTO course VALUES('005', '操作系统', 56, 3.5);
INSERT INTO course VALUES('007', '编译原理', 48, 3);
INSERT INTO course VALUES('008', '程序设计', 32, 2);
teacher 表中的数据
INSERT INTO teacher VALUES('052501', '王成刚', '男', '计算机');
INSERT INTO teacher VALUES('052502', '李正科', '男', '计算机');
INSERT INTO teacher VALUES('052503', '严敏', '女', '数学');
INSERT INTO teacher VALUES('052504', '赵高', '男', '数学');
INSERT INTO teacher VALUES('052505', '刘玉兰', '女', '计算机');
INSERT INTO teacher VALUES('052506', '王成刚', '男', '信息');
INSERT INTO teacher VALUES('052507', '马悦', '女', '计算机');
score 表中的数据
INSERT INTO score VALUES('96001', '001', '052503', 77.5);
INSERT INTO score VALUES('96001', '003', '052501', 89);
INSERT INTO score VALUES('96001', '004', '052502', 86);
INSERT INTO score VALUES('96001', '005', '052505', 82);
INSERT INTO score VALUES('96002', '001', '052504', 88);
INSERT INTO score VALUES('96002', '003', '052502', 92.5);
INSERT INTO score VALUES('96002', '006', '052507', 90);
INSERT INTO score VALUES('96005', '004', '052502', 92);
INSERT INTO score VALUES('96005', '005', '052505', 90);
INSERT INTO score VALUES('96005', '006', '052505', 89);
INSERT INTO score VALUES('96005', '007', '052507', 78);
INSERT INTO score VALUES('96003', '001', '052504', 69);
INSERT INTO score VALUES('97001', '001', '052504', 96);
INSERT INTO score VALUES('97001', '008', '052505', 95);
INSERT INTO score VALUES('96004', '001', '052503', 87);
INSERT INTO score VALUES('96003', '003', '052501', 91);
INSERT INTO score VALUES('97002', '003', '052502', 91);
INSERT INTO score VALUES('97002', '004', '052505', NULL);
INSERT INTO score VALUES('97002', '006', '052507', 92);
INSERT INTO score VALUES('97004', '005', '052502', 90);
INSERT INTO score VALUES('97004', '006', '052501', 85);

 注:把上面的实验数据添加上再开始实验。

实验内容

1-1 创建数据库和数据表的 DDL 语句

(1) 创建数据库 teachingdb

CREATE DATABASE teachingdb;

(2) 在 teachingdb 中创建 student

CREATE TABLE student (sno CHAR(5) PRIMARY KEY,           snme VARCHAR(20) NOT NULL,       sdept VARCHAR(20) NOT NULL, sclass CHAR(2) NOT NULL,      ssex CHAR(1),              birthday DATE,totalcredit DECIMAL(4,1)
);

 

(3) 在 student 表中增加 nativeplace 字段

ALTER TABLE student ADD nativeplace VARCHAR(20);

(4) 删除 student 表中的 nativeplace 字段

ALTER TABLE student DROP COLUMN nativeplace;

(5) 将 student 表中的 ssex 字段定义改为 VARCHAR(3)

ALTER TABLE student MODIFY ssex VARCHAR(3);

 

(6) 在 course 表中 cname 上添加唯一性约束 uk_cno

方法1:创建时添加

CREATE TABLE course (cno CHAR(3) PRIMARY KEY,          cname VARCHAR(50) UNIQUE,           ctime DECIMAL(3,0),credit DECIMAL(3,1)              
);

方法二:创建表创建后添加

CREATE TABLE course (cno CHAR(3) PRIMARY KEY,cname VARCHAR(50),       ctime DECIMAL(3,0),          credit DECIMAL(3,1) 
);
alter table course add unique (cname);


1-2 操作数据的 DML 语句

(1) 在 student 表中插入一条数据

INSERT INTO student VALUES('11111', '马明', '计算机', '01', '女', '2000-01-11', NULL);

 (2) 将 student 表中所有学生的总学分加 2,空值也参加计算

UPDATE student SET totalcredit = totalcredit + 2;

(3) 将 student 表中 马小燕 的出生日期修改为 2000-01-22

UPDATE student SET birthday = '2000-01-22' WHERE snme = '马小燕';

(4) 删除 student 表中学号为 11111 的记录

DELETE FROM student WHERE sno = '11111';

(5) 利用 student 表创建表 slsl 的结构与内容与 student 表完全相同

CREATE TABLE sl AS SELECT * FROM student;

(6) 删除 sl 表中计算机系学生的信息

DELETE FROM sl WHERE sdept = '计算机';
创建删除展示:
结果:

(7) 删除 sl 表 

DROP TABLE sl;


http://www.ppmy.cn/server/177029.html

相关文章

HTML5 Canvas 的俄罗斯方块游戏开发实践

基于 HTML5 Canvas 的俄罗斯方块游戏开发实践 这里写目录标题 基于 HTML5 Canvas 的俄罗斯方块游戏开发实践项目概述技术栈选择核心功能实现1. 游戏初始化2. 方块设计3. 碰撞检测4. 方块旋转5. 消行处理 性能优化项目难点与解决方案开发经验总结项目收获未来优化方向结语 项目概…

《沉思录》

《沉思录》是古罗马皇帝马可奥勒留(Marcus Aurelius)在戎马倥偬中写下的哲学笔记,也是斯多葛学派的重要代表作。全书以自我对话的形式,探讨了生命、死亡、责任、自然法则以及心灵的安宁。以下是总结与启示: 《沉思录》…

2025年智能系统、自动化与控制国际学术会议(ISAC 2025)

重要信息 2025 International Conference on Intelligent Systems, Automation and Control 2025年3月28-30日 | 中国西安理工大学 | 会议官网: www.icisac.org 简介 在国家大力推动高质量发展与创新驱动战略的背景下,智能制造与自动化控制行业正迎…

AD(Altium Designer)已有封装库的基础上添加器件封装

一、准备器件原理图和器件PCB文件 1.1 准备器件原理图和PCB文件 如图所示 1.2 确定已有封装库的位置 依次点击1,2步骤 如图所示为已有原理图库和PCB图库 1.3 依次打开所需的原理图、PCB图、原理图库和PCB图库 点击打开 打开器件原理图和PCB图 打开器件原理图库和…

CHM(ConcurrentHashMap)中的 sizeCtl 的作用与值变化详解

学海无涯,志当存远。燃心砺志,奋进不辍。愿诸君得此鸡汤,如沐春风,学业有成。若觉此言甚善,烦请赐赞一枚,共励学途,同铸辉煌 ConcurrentHashMap常简写为CHM,尤其是在讨论并发编程时。…

adb 如何导出手机的文件

目录 1. 开启USB调试 2. 连接设备 3. 启动ADB 4. 导出文件 使用adb pull命令 5. 可视化工具预览 adb(Android Debug Bridge)是Android开发中常用的一个工具,它允许开发者通过电脑与Android设备进行通信。如果你想通过adb导出手机上的文…

八股文MYSQL

SQL基础 NOSQL和SQL的区别? SQL数据库(Structured Query Language)指关系型数据库 - 主要代表:SQL Server,Oracle,MySQL(开源) 关系型数据库存储结构化数据。这些数据逻辑上以行列二维表的形式存在&#…

利用github部署项目

挂载GitHub Pages的方法 基本步骤 创建仓库&#xff1a; 在GitHub上创建一个新的仓库。如果使用自定义域名&#xff0c;则仓库名应为<username>.github.io&#xff1b;否则可以是任意名称。 启用GitHub Pages&#xff1a; 进入仓库的设置页面&#xff0c;在“Pages”部…