IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 数据库系统SSD7 实验1 《数据库与表的基本操作》 -> 正文阅读

[大数据]数据库系统SSD7 实验1 《数据库与表的基本操作》

数据库系统SSD7 实验1 《数据库与表的基本操作》

一、实验目的

1、熟练掌握一种DBMS的使用方法,完成数据库的创建、删除和连接;数据表的建立、删除;表结构的修改。
2、加深对表的实体完整性、参照完整性和用户自定义完整性的理解。

二、实验内容

在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。用SQL语句分别完成。

1、创建学生-课程数据库,数据文件名为student_data、大小10M,日志文件名为student_log、大小5M的新数据库,该数据库名为student_xxxxxx,xxxxxx表示班级学号。1801班12号,数据库名为student_180112。
2、创建学生关系表S

学号姓名性别年龄所在系
SnoSnameSsexSagesdept

3、创建课程关系表C

课程号课程名先行课学分
CnoCnameCpnoccredit

4、创建学生-课程表SC

学号课程号成绩
SnoCnograde

5、将以上创建表S、C、SC的SQL命令以 .sql文件的形式保存在磁盘上。在表中加入至少4个元组,第一个为本人信息。
6、在表S上增加“出生日期”与“身高”属性列。
7、删除表S的“身高” 属性列。
8、备份数据库,再还原。

三、实验方法与实验步骤

使用Navicat Premium 12进行MySQL数据库的操作,点击新建查询打开查询控制界面输入对应的SQL语句并运行,得到相应结果(这里也可使用MySQL自带的命令行)。

1、创建数据库或连接已建立的数据库。
在控制界面输入如下SQL语句并点击运行进行MySQL数据库的创建:

CREATE DATABASE `student_190222` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

2、在当前数据库上建立新表,同时确定表的结构。
在控制界面输入如下SQL语句并点击运行创建相应的三个表

CREATE TABLE S(
	Sno VARCHAR(10),
	Sname VARCHAR(10),
	Ssex VARCHAR(5),
	Sage INT(5),
	sdept VARCHAR(20),
	PRIMARY KEY(Sno)
);

CREATE TABLE C(
	Cno VARCHAR(10),
	Cname VARCHAR(10),
	Cpno VARCHAR(10),
	ccredit INT(5),
	PRIMARY KEY(Cno)
);

CREATE TABLE SC(
	Sno VARCHAR(10),
	Cno VARCHAR(10),
	grade INT(5),
	PRIMARY KEY(Sno, Cno),
	FOREIGN KEY(Sno) REFERENCES s(Sno),
	FOREIGN KEY(Cno) REFERENCES c(Cno)
);

这里指定了相应的主键与外键。

3、插入测试数据。
在控制界面输入如下SQL语句并点击运行各自插入4个测试的元组:

INSERT INTO S(Sno, Sname, Ssex, Sage, sdept)
VALUES
	('1234567890', '李华', '男', 19, '英语系'),
	('1234567891', '王五', '男', 21, '土木工程系'),
	('1234567892', '赵秋明', '女', 20, '城乡规划系'),
	('1234567893', '刘畅', '男', 19, '软件工程系');
	
INSERT INTO C(Cno, Cname, Cpno, ccredit)
VALUES
	('2-1', '数据结构', '线性代数', 2),
	('5-6', '编译原理', '汇编语言', 3),
	('1-3', '操作系统', '离散数学', 5),
	('8-5', '计算机网络原理', '高等数学', 3);
	
INSERT INTO SC(Sno, Cno, grade)
	VALUES
	('1234567890', '2-1', 98),
	('1234567891', '8-5', 95),
	('1234567892', '5-6', 93),
	('1234567893', '1-3', 100);

4、修改表的结构。

-- 在控制界面输入如下SQL语句并点击运行为表S增加“生日日期”和“身高”属性
ALTER TABLE S ADD `birthday` DATE;
ALTER TABLE S ADD `height` DOUBLE;
-- 在控制界面输入如下SQL语句并点击运行为表S删除“身高”属性:
ALTER TABLE S DROP COLUMN `height`;

5、转储.sql文件。
右击数据库,可以看到有一个“转储SQL文件”的选项,点击该选项,选择sql文件存储位置,点击“保存”完成sql文件的转储。对应的命令是mysqldump -u root -p dbName > sqlFilePath(dbName: 数据库名;sqlFilPath: 导出的.sql文件路径)。

6、备份数据库并还原。
通过Navicat内置的备份功能完成数据另存:点击新建备份,选择需要备份的三个表S、C、SC,点击开始,完成备份。使用Navicat备份的数据进行恢复,打开备份区,选取上述备份,点击还原备份,开始还原,等到还原完成即可。对应的命令仍是mysqldump

四、实验结果

1、建库


2、建表


3、插入数据




4、新加属性


5、删除属性


五、实验小结

主要是学会了如何利用create语句创建数据库、利用create语句创建关系实例(表)、利用insert语句插入数据、利用alter table语句增加或者删除属性,以及合理利用Navicat这个MySQL的可视化工具进行备份与恢复,以及上述语句的一些基本语法和使用场景。MySQL的建库无法像SQL Server一样指定相关文件的存储位置和分配空间。建库的时候顺便把一些完整性约束也加进去了,比如指定sc表的Sno和Cno分别为外键。

SQL是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
结构化查询语言SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-06 11:13:37  更:2021-09-06 11:14:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:05:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码