我的编程空间,编程开发者的网络收藏夹
学习永远不晚

数据库与MySQL实验一

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

数据库与MySQL实验一

目录

实验内容

(一)创建数据库的操作

(二)表数据的操作

(三)数据库的备份与恢复

实验思考


实验内容

(一)创建数据库的操作

1. 使用SQL语句创建数据库Stu_Course。

T-SQL语句为:

CREATE DATABASE Stu_Course

2. 使用SQL语句选择Stu_Course为当前使用数据库。

T-SQL语句为:

USE Stu_course;

(二)表数据的操作

1.在数据库Stu_Course中创建表

(1)使用图形界面工具创建Student表

Student表结构及其约束为:

表1-1 Student表结构和约束

列名

数据类型

宽度

允许空值

缺省值

主键

说明

Sno

char

9

学号

Sname

char

20

姓名

Ssex

char

2

性别

Sage

smallint

年龄

Sdept

char

20

所在系

操作步骤如下:

右键Stu_Course->依次对于列名,数据类型,宽度,允许空值,缺省值,主键进行输入->右键点击添加字段->重复此类操作直至完毕->点击保存->输入表名为Student

(2)使用T-SQL语句创建表

1)创建Course表

Course表结构及其约束为:

表1-2 Course表结构和约束

列名

数据类型

宽度

允许空值

缺省值

主键

外键

说明

Cno

char

4

课程号

Cname

char

40

课程名

Cpno

char

4

先行课

Ccredit

smallint

学分

创建Course表T-SQL语句如下:

CREATE TABLE Course(Cno char(4) NOT NULL PRIMARY KEY,Cname char(40),Cpno char(4),Ccredit SMALLINT,FOREIGN KEY(Cpno)REFERENCES Course(Cno));

2)创建表SC表

SC表结构及其约束为:

表1-3 SC表结构和约束

列名

数据类型

宽度

允许空值

缺省值

主键

外键

说明

Sno

char

9

学号

Cno

char

4

课程号

Grade

smallint

成绩

其中成绩为百分制。

创建SC表T-SQL语句如下:

CREATE TABLE SC(Sno char(9)NOT NULL,Cno char(4)NOT NULL,Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES student(Sno),FOREIGN KEY(Cno) REFERENCES Course(Cno));

2.管理表

(1)添加和删除列

给Course表增加一列,字段名为Ctype(课程类型),类型为char,长度为10,允许为空值。

1)使用图形界面工具进行。

操作步骤如下:

右键course->设计表->插入字段->在名中输入Ctype,在类型中输入char,在长度中输入10->点击保存

插入该列后,在图形界面工具中删除该列的操作步骤。

右键course->设计表->选中Ctype行->删除字段->点击保存

2)使用T-SQL语句进行。

添加Ctype字段的T-SQL语句。

ALTER TABLE Course ADD Ctype char(10);

删除Ctype字段的T-SQL语句。

ALTER TABLE Course DROP Ctype;

(2)表的重命名及删除

1)使用图形界面工具重命名及删除表。

重命名操作步骤:

(如将Course表重命名为Course1表)

右键Course->点击重命名->输入Course1->点击空白区域即可

删除Course1表的操作步骤:

右键course->点击删除表->在“我已了解此操作是永久性的且无法撤销”前面的框内打对号->点击删除

2)使用T-SQL语句实现

在查询命令窗口中,重建Course表。

重命名Course表为Course1表的T-SQL语句。(提示:MySQL使用命令rename table)

ALTER TABLE Course RENAME Course1;

删除Course1表的T-SQL语句。

注意:SC表的建立是在Course表之后的,且以Course表为依据,SC表中的Cno参照与Course中的Cno,因此仅仅使用DROP是无法删除重命名后的Course表的(即Course1),因为SC中外键的存在。将SC中的外键删除即可,外键的名称可通过右键SC表->设计表->外键步骤查看,可以发现此外键名为sc_ibfk_2,将其删除之后,就可正常删除Course1表了

ALTER TABLE sc DROP FOREIGN KEY sc_ibfk_2;DROP TABLE course1;

3.对表添加、修改、删除数据

(1)插入数据简单操作

1)使用图形界面工具向Student表中插入数据。

表1-4 Student表

Sno

Sname

Ssex

Sage

Sdept

200215121

李勇

20

CS

200215122

刘晨

19

CS

200215123

王敏

18

MA

200215125

张立

19

IS

200215126

张红

19

CS

操作步骤:

依次对于每一行的数据进行输入->输入完毕点击左下角的对号保存->点击加号获取新的一行->重复进行直至数据输入完毕

其它数据可自行添加。

2)使用T-SQL语句向Course表中插入数据。

表1-5 Course表

Cno

Cname

Cpno

Ccredit

1

数据库

5

4

2

数学

2

3

信息系统

1

4

4

操作系统

6

3

5

数据结构

7

4

6

数据处理

2

7

PASCAL语言

6

4

在查询命令窗口中,运行重建Course表。

T-SQL命令为:

CREATE TABLE Course(Cno char(4) NOT NULL PRIMARY KEY,Cname char(40),Cpno char(4),Ccredit SMALLINT,FOREIGN KEY(Cpno)REFERENCES Course(Cno));INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('6','数据处理',NULL,2),('7','PASCAL语言','6',4),('5','数据结构','7',4),('1','数据库','5',4),('4','操作系统','6',3),('2','数学',NULL,2),('3','信息系统','1',4);

注意:在Course中,Cpno为Cno的外键,因此Cpno相应的数据应在Cno数据存在之后插入

其它数据可自行添加。

3)使用T-SQL语句向SC表中插入数据。

表1-6 SC表

Sno

Cno

Grade

200215121

1

92

200215121

2

85

200215121

3

88

200215122

2

90

200215122

3

80

T-SQL命令为:

INSERT INTO SC(Sno,Cno,Grade)VALUES('200215121','1',92),('200215121','2',85),('200215121','3',88),('200215122','2',90),('200215122','3',80);

其它数据可自行添加。

(完成以上操作后,保存所有命令文本sql文件并将Stu_Course数据库备份,得到Stu_Course.sql备份文件,保存起来以备后面实验用)

(2)修改数据简单操作。

1)在图形界面工具中,将Student表中的学号为“200215125”的同学的姓名改为“李双”。

操作步骤:

双击student表->选择200212125的同学姓名->删除并改为李双->点击左下角对号保存

2)使用T-SQL语句,将Course表中的课程号为“2”的学分改为4。

T-SQL语句为:

UPDATE Course SET Ccredit = '4' WHERE Cno = '2'; 

3)使用T-SQL语句,将SC表中的选修了“2”课程的同学的成绩*80%。

T-SQL语句为:

UPDATE SC SET Grade = Grade * 0.8 WHERE Cno = '2'; 

(3)删除数据简单操作(请注意外键约束的限制)

1)假设学号为“200215123”的同学已离开学校,则需要删除该记录,请在图形界面工具中将Student表中将该记录删除。

操作步骤:

选中该列->右键删除记录->点击确定->点击左下角对号保存

2)删除选修了“信息系统”的学生选课记录。

T-SQL语句:

DELETE FROM SC WHERE Cno IN (SELECT Cno FROM CourseWHERE Cname = '信息系统');

3)使用T-SQL语句,删除所有的学生选课记录。

T-SQL语句:

DELETE FROM SC;

(三数据库的备份与恢复

1. 使用mysqldump命令备份数据库Stu_Course的所有表,存于D:\下,文件名为all_tables.sql。写出执行代码并将结果界面截图粘贴。

cmd进入MySQL之后输入:

mysqldump -u root -h localhost -p stu_course > d:\all_tables.sql

2. 在MySQL服务器上创建数据库student1,使用mysql命令将备份文件all_tables.sql恢复到数据库student1中。写出执行代码并将结果界面截图粘贴。(提示:恢复数据库前要先创建数据库)

再在CMD命令提示符窗口中执行命令。

CREATE DATABASE student1;

cmd进入MySQL之后输入:

mysql -uroot -p student1 < d:\all_tables.sql

3. 使用mysqldump命令备份数据库Stu_Course中的指定表SC,存于D:\下,文件名为s_c.sql。写出执行代码并将结果界面截图粘贴。

cmd进入MySQL之后输入:

mysqldump -u root -p stu_course sc > d:\s_c.sql

4. 在MySQL服务器上创建数据库student2,使用mysql命令将备份文件s_c.sql恢复到数据库student2中。写出执行代码并将结果界面截图粘贴。(提示:恢复数据库前要先创建数据库)

CREATE DATABASE student2;

cmd进入MySQL之后输入:

mysql -uroot -p student2 < d:\s_c.sql

实验思考

1. 能通过一个CREATE DATABASE语句创建两个及以上的数据库吗?

不可以

2. 删除了的数据库还极可能恢复吗?

可以恢复,不过要提前对于数据库进行备份,并在之后创建一个新的数据库来导入原来备份的内容

3. 对于Stu_Course数据库的Student表而言,如果输入相同学号的记录将出现什么现象?为什么?

会出现报错无法正常保存的情况,因为Student表中的学号Sno为主键,其值能够唯一的确定某一个学生的信息,主键是用来唯一表示一条数据的值,不能重复的

4. 已经打开的表能删除吗?

能够删除

来源地址:https://blog.csdn.net/couchpotatoshy/article/details/130590016

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

数据库与MySQL实验一

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL插入锁与数据库数据一致性校验

MySQL的插入锁是指在插入数据时使用锁机制来确保数据的一致性。在MySQL中,当插入数据时,会自动加锁,防止其他用户同时插入相同的数据,保证数据的唯一性和完整性。数据一致性校验是指在数据插入完成后,进行校验操作,确保插入的数据符合业务规
MySQL插入锁与数据库数据一致性校验
2024-08-14

MySQL数据库实验实现简单数据库应用系统设计

目录一、实验目的二、实验要求三、实现内容及步骤1、学生表:student2、寝室表:dormitory3、管理员表:admin四、编程客栈实验总结观前提示:本篇内容为mysql数据库实验,代码内容经测试过,可能一小部分有所疏漏,也有会不符合
2022-06-20

Mysql数据库(一)-

一、 数据库的分类1、SQL  Server 数据库2、Oracle 数据库3、mysql 数据库4、DB25、informix      以上是比较流行的数据库,这里没有一一介绍,而是展示出来以便了解。二、MySQL数据库的安装和配置1、如果你已经安装了my
Mysql数据库(一)-
2015-07-26

【MySQL数据库】一函数

🍁博客主页:👉@不会压弯的小飞侠 ✨欢迎关注:👉点赞👍收藏⭐留言✒ ✨系列专栏:👉MySQL数据库专栏 ✨欢迎加入社区: 👉不会压弯的小
2023-08-25

通过MySQL开发实现数据加工与数据仓库的项目经验分享

在当今数字化时代,数据已被普遍认为是企业决策的基础与资本。但是,处理大量数据并将其转化为可靠的决策支持信息的过程并不容易。这时,数据加工和数据仓库开始发挥重要作用。本文将分享一个通过MySQL开发实现数据加工和数据仓库的项目经验。一、项目背
通过MySQL开发实现数据加工与数据仓库的项目经验分享
2023-11-03

数据库实验-数据查询语言

(1)查询学生的基本信息;  select * from S;       (2)查询“CS”系学生的基本信息;       select * from S where Sdept =’CS’;(3)查询“CS”系学生年龄不在19到21之间的学生的学号、姓名;
数据库实验-数据查询语言
2016-10-08

mysql数据库属于哪一类数据库

mysql 是一种流行的关系型数据库管理系统 (rdbms),用于存储和管理结构化数据。其特点包括:表模式、主键、外键、事务支持和索引。关系型数据库的优势包括:数据完整性、查询灵活性、可扩展性和性能。mysql 特别适用于管理中小型应用程序
mysql数据库属于哪一类数据库
2024-04-14

MySQL数据库设计与优化的项目经验分享

随着互联网技术的飞速发展,数据库已经成为许多企业重要的数据存储和管理工具。其中,MySQL数据库因其开放源代码、高性能和可靠性深受企业和开发人员的喜爱。在实际项目中,MySQL的设计和优化对项目的成功与否有着至关重要的影响。在此,我想分享一
MySQL数据库设计与优化的项目经验分享
2023-11-02

MYSQL数据库优化(一)

内存的读写速度远大于磁盘的读写速度,减少磁盘读写,可以作为重点优化方向。数据库内部最重要的就是存储结构,存储结构必然涉及到数据结构知识。比如用到了常用的哈希图、树。MYSQL数据库常用两种引擎,InnoDB、MyISAM,可以直接对表指定数据库引擎。MYSQL
MYSQL数据库优化(一)
2015-04-25

编程热搜

目录