实验项目
实验1 实验环境与操作流程
实验2 数据定义、查询与更新
实验3 基本表的定义、删除与修改
实验4 数据的插入、修改和删除
实验5 数据的查询
实验6 数据的视图
实验7 完整性语言
实验8 触发器
实验9 存储过程与函数
实验10 SQL语句1(创建、插入、查询)
实验11 SQL语句2(查询)
实验12 SQL语句3(视图、完整性、关系代数查询)
实验2 数据定义、查询与更新
一、实验目的
1. 理解数据库设计的概念及实验环境;
2. 掌握MySQL数据库的相关概念;
3. 掌握使用Navicat工具和SQL语句创建、删除与修改基本表的方法;
4. 掌握使用Navicat工具和SQL语句删除数据与数据库的方法。
二、实验要求
1. 熟练掌握使用图形界面方式对基本表进行创建、删除与修改的方法及步骤;
2. 熟练掌握使用命令方式对基本表进行创建、删除与修改的方法及步骤;
3. 熟练掌握使用图形界面方式及命令方式来删除数据和数据库的方法。
三、实验内容
1. 了解两种命令行界面的打开方式。
实验指导1:
(1)方式1:找到mysql的安装位置,并进入到bin文件夹下,在红色的地址框框中输入cmd进入。
(2)方式2:选中Navicat中的任一连接或者数据库,右键选中“命令列界面”打开。
2. 创建数据库、表、数据:回顾实验报告1中创建数据库、表、数据的操作过程(Navicat和命令行两种方式),分别创建学生信息管理数据库stu、stu2、Student、Award表,并参照课本10页填充表中的数据信息。
实验指导2:
- 新建连接test,打开连接test。
- (使用Navicat)新建数据库stu,选择字符集utf8,选择排序规则utf8_bin,打开数据库stu。
- 新建表Student和Award,表的结构参照课本11页。
- 插入学生的基本信息和学生的奖励情况,信息参照课本11页。
- 查询学号为20100001学生的信息,参照课本11的查询语句。
- (使用命令语句)新建数据库stu2,并在此数据库中新建表Student、Award,插入记录,查询记录等。
3. SQL命令行:
(1)向Student表增加“入学时间”列,命名为Entrance,其数据类型为日期型。
(2)修改学号20100001学生的入学时间信息,入学时间为2021年9月1日。
(3)修改所有学生的入学时间信息,入学时间为2021年9月1日。
(4)删除学号为20100234学生的信息。
(5)查询学号为20100001学生的基本信息和奖励信息。
(6)删除“入学时间”列。
(7)删除award表。
(8)删除数据库stu2。
实验指导3:
- 增加Entrance列:在命令行中输入命令ALTER TABLE student ADD Entrance DATE;,修改student表,增加一列Entrance,类型为DATE,参照课本85页。
- 修改数据:在命令行中输入命令UPDATE Student SET Entrance='2021-9-1' WHERE Sno='20100001';,将学号为20100001学生的入学时间信息更新为2021-9-1,参考课本117页。
- 修改数据:在命令行中输入命令UPDATE Student SET Entrance='2021-9-1';,将所有学生的入学时间信息更新为2021-9-1,参考课本117页。
- 删除数据:在命令行中输入命令DELETE FROM Student WHERE Sno='20100234';,将学号为20100234学生的信息删除,参考课本118页。
- 查询数据:在命令行中输入命令SELECT A.Sno,Sname,Ssex,Sage,Major,Entrance,Details FROM STUDENT A LEFT JOIN AWARD B ON A.Sno=B.Sno WHERE A.Sno='20100001';,查询出学号为20100001学生的所有信息,参考课本11页。
- 删除Entrance列:在命令行中输入命令ALTER TABLE student DROP Entrance;,修改student表,删除一列Entrance,参照课本85页。
- 删除award表:在命令行中输入命令DROP TABLE award;,删除表,参照课本85页。
- 删除数据库stu2:在命令行中输入命令DROP DATABASE stu2;,删除数据库。
4. Navicat:
(1)向Student表增加“入学时间”列,命名为Entrance,其数据类型为日期型。
(2)修改学号20100001学生的入学时间信息,入学时间为2021年9月1日。
(3)修改所有学生的入学时间信息,入学时间为2021年9月1日。
(4)删除学号为20100234学生的信息。
(5)查询学号为20100001学生的基本信息和奖励信息。
(6)删除“入学时间”列。
(7)删除award表。
(8)删除数据库stu。
实验指导4:
- 增加列:选中要修改的student表,右键,设计表,点击添加字段或插入字段,插入Entrance列。
- 修改数据:双击student表,修改并填入学生的入学时间信息。
- 删除数据:双击student表,选中学号为20100234这一行,然后右键,点击删除记录,在弹出的对话框中选择删除一条记录。
- 查询数据(方法1):选中查询,右键,新建查询,输入命令SELECT A.Sno,Sname,Ssex,Sage,Major,Entrance,Details FROM student A LEFT JOIN award B ON A.Sno=B.Sno WHERE A.Sno='20100001';,保存并命名为20100001student2,点击运行,显示查询结果。
- 查询数据(方法2):选中查询,右键,新建查询,点击查询创建工具,将要查询的student表和award拖到右边,选中要查询的列,选择WHERE条件,然后点击构建或者构建并运行,显示查询结果。
- 删除列:选中student表,右键,设计表,选中要删除的行,点击删除字段,保存。
- 删除award表:选中award表,右键,删除即可。
- 删除数据库stu:选中stu数据库,右键,删除即可。