MySQL数据库实验三

本文承接前面的俩次实验基础上完成,不过实现的都是基础操作的练习

目录

目录

前言

实验目的

实验要求

实验内容及步骤

updata操作

delete操作 

alter操作

添加列

删除列

修改列的数据类型

要求实现

实验结果

代码结果

注意事项

思考题

总结


前言

本文是MySQL数据库的简单操作的练习实验,掌握基本的sql练习。了解数据库的维护操作,包含数据的插入、检索、修改,掌握MySQL 中用户、角色及操作权限的管理方法,学会创建和使用规则、缺省和触发器。


实验目的

要求学生熟练使用和掌握数据库的维护操作,包含数据的插入、检索、修改,掌握MySQL 中用户、角色及操作权限的管理方法,学会创建和使用规则、缺省和触发器。

实验要求

1. 将B5的单价改为6.00元

2. 删去图书B2及的单价改为6.00元

3. 修改江苏新华书店的图书的数量为50

4. 为图书发行LBS表的QTY字段设计CHECK约束:  0<QTY<100

5. 将(B6,人工智能库论,4.5)加入图书B

6. 实现对LBS表的操作权限管理的使用。

实验内容及步骤

updata操作

UPDATE table_name  
SET column1 = value1, column2 = value2, ...  
WHERE condition;

delete操作 

DELETE FROM table_name  
WHERE condition;

alter操作

添加列

ALTER TABLE students  
ADD email VARCHAR(255);
-- 例子
ALTER TABLE students  
ADD email VARCHAR(255);

删除列

ALTER TABLE table_name  
DROP COLUMN column_name;
-- 例子
ALTER TABLE students  
DROP COLUMN email;

修改列的数据类型

ALTER TABLE table_name  
MODIFY COLUMN column_name new_datatype;
-- 例子
ALTER TABLE students 
MODIFY COLUMN age SMALLINT;

这里只枚举了alter几个作用,alter实际上还有很多功能可以使用。 

要求实现

1. 将B5的单价改为6.00元
只要直接在B表中使用UPDATE修改对应B5的价格即可

-- 将B5的单价改为6.00元
select * from b;
UPDATE B SET PRICE = 6.00 WHERE BNO = 'B5';

2. 删去图书B2及的单价改为6.00元

首先,删除图书B2的发行记录(因为可能存在外键约束,需要先删除外键表中的数据),然后,删除图书B2的记录.

-- 删去图书B2及相应的发行记录
DELETE FROM LBS WHERE BNO = 'B2';
select *from lbs;
DELETE FROM B WHERE BNO = 'B2';
select *from b;

3. 修改江苏新华书店的图书的数量为50

由于图书数量只在LBS表中,而江苏新华书店只在S表中,我们在使用updata更改LBS中数量数据前,要用sno来使俩个表产生链接,找到对应需要修改的数据

-- 修改江苏新华书店的图书的数量为50
select * from S;
select * from LBS;
SELECT SNO FROM S WHERE SNAME = '江苏新华书店';
UPDATE LBS SET QTY = 50 WHERE SNO = (SELECT SNO FROM S WHERE SNAME = '江苏新华书店');

4. 为图书发行LBS表的QTY字段设计CHECK约束:  0<QTY<100
用alter可以调增LBS表,使用ADD CONSTRAINT添加约束
同时可以使用下述的代码查询是有在约束名中有新增添的约束

-- 为图书发行LBS表的QTY字段设计CHECK约束:  0<QTY<100
select * from LBS;
ALTER TABLE LBS ADD CONSTRAINT CHK_QTY CHECK (QTY > 0 AND QTY < 100);
-- 查找约束名
SELECT constraint_name
FROM information_schema.table_constraints
WHERE table_name = 'LBS' AND constraint_type = 'CHECK';

5. 将(B6,人工智能库论,4.5)加入图书B
主要使用insert进行数据的插入

-- 将(B6,人工智能库论,4.5)加入图书B
select * from b;
INSERT INTO B (BNO, BNAME, PRICE) VALUES ('B6', '人工智能库论', 4.50);

6. 实现对LBS表的操作权限管理的使用。

首先要创建用户,然后提供不同操作的权限,同时提供了查询用户权限和删除的操作

-- 实现对LBS表的操作权限管理的使用。
CREATE USER 'lbs_user'@'localhost' IDENTIFIED BY '123456';
-- 允许用户查询LBS表:
GRANT SELECT ON bookdistribution.LBS TO 'lbs_user'@'localhost';
-- 允许用户插入、更新和删除LBS表中的数据:
GRANT INSERT, UPDATE, DELETE ON bookdistribution.LBS TO 'lbs_user'@'localhost';
-- 允许用户执行所有操作(包括创建和删除表等):并未执行
GRANT ALL PRIVILEGES ON bookdistribution.LBS TO 'lbs_user'@'localhost';
-- 查询用户
SHOW GRANTS FOR 'lbs_user'@'localhost';
-- 删除用户
DROP USER 'lbs_user'@'localhost';

实验结果

代码结果

1. 将B5的单价改为6.00元

2. 删去图书B2及的单价改为6.00元

3. 修改江苏新华书店的图书的数量为50

4. 为图书发行LBS表的QTY字段设计CHECK约束:  0<QTY<100

5. 将(B6,人工智能库论,4.5)加入图书B

6. 实现对LBS表的操作权限管理的使用。

注意事项

1、数据更改时要注意外码约束:在更改数据时,如果涉及到外键约束的表,需要先确保外键表中没有引用到这些数据,或者适当地更新外键表中的数据以维持数据的一致性和完整性。

2、数据删除时要注意外码约束:在删除数据时,如果涉及到外键约束的表,需要先删除外键表中的数据或者解除外键约束,然后再删除主表中的数据。

3、用户、角色和权限的职能,以及它们之间的关系:用户是访问数据库的主体,角色是一组权限的集合,用户可以被赋予一个或多个角色,从而继承角色的权限。这样,通过角色管理权限可以简化权限管理过程。

思考题

1、为什么不能随意删除被参考表中的主码:因为被参考表(通常称为父表或主表)的主码在子表(通常称为外键表)中被用作外键,用于维护两个表之间的关联关系。如果随意删除父表的主码数据,可能会导致子表中的外键数据失效或成为悬空引用,破坏数据的完整性和一致性。

2、数据库中一般不允许更改主码数据。如果需要更改主码数据时,怎样处理:如果确实需要更改主码数据,通常需要先删除原有的数据记录,然后插入新的数据记录,同时更新所有外键表中引用该主码的数据。但在实际操作中,这通常不是一个好的做法,因为可能会导致数据丢失或不一致。更好的做法是在设计数据库时尽量避免需要更改主码的情况。

3、两种SQL Server的安全认证模式及特点:SQL Server支持两种安全认证模式:Windows身份验证模式和混合身份验证模式。Windows身份验证模式使用Windows账户和密码进行身份验证,简化了管理并提供了更强的安全性。混合身份验证模式允许使用Windows账户和SQL Server账户进行身份验证,提供了更大的灵活性。

4、什么是触发器?主要功能是什么:触发器(Trigger)是一种特殊的存储过程,它会在指定的表上进行INSERT、UPDATE或DELETE操作时自动执行。触发器的主要功能包括数据完整性检查、数据审计、级联更新和删除等。通过触发器,可以在数据发生更改时自动执行一系列操作,以确保数据的完整性和一致性。


总结

通过对于MySQL数据实验的要求实现,额外了解了一些原本并未学到的操作。
了解了数据库的维护操作,包含数据的插入、检索、修改,掌握MySQL 中用户、角色及操作权限的管理方法,学会创建和使用规则、缺省和触发器。

推荐学习博客 https://xxetb.xetslk.com/s/4GgGz6

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/834380.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

身份证OCR识别接口如何对接

身份证OCR识别接口又叫身份证识别API接口、身份证正反面文字识别接口&#xff0c;指的是传入身份证照片&#xff0c;精准识别静态身份证图像上的文字信息&#xff0c;如果传的是正面照片只返回正面信息&#xff0c;如果传的是反面只返回反面信息。那么身份证OCR识别接口如何对接…

软件接口测试规范流程

1、需求分析 1.1 确认测试目的和测试对象&#xff1a; 了解需求并明确测试目的&#xff0c;如测试一个本地 API 还是跨网站的远程 API。 1.2 确认测试的基本条件: 确定测试所需的测试数据&#xff0c;测试环境以及测试团队中的角色和职责。 1.3. 对接口文档进行验证&#xf…

Windows系统使用powershell批量移动特定起始位置的“快捷方式”

移动特定起始位置的“快捷方式” 快捷方式都对应一个的目标和“起始位置”&#xff0c;现在想要把特定起始位置的快捷方式移动到一个文件夹中。 新建文本文档&#xff0c;输入如下内容&#xff1a; # 设置变量 $oldPath "D:\111\111_1" $newPath "D:\111\1…

AI-数学-高中55-随机变量正态分布

原作者视频&#xff1a;【随机变量】【一数辞典】6正态分布_哔哩哔哩_bilibili 整个概率面积 S 1。 示例&#xff1a; 对称轴平均分μ90分&#xff0c;西格玛&#xff08;确定最高点的值&#xff0c;值越大越缓&#xff0c;越小分布曲线峰值越瘦高&#xff09;σ20分。

【前端热门框架【vue框架】】——事件处理与表单输入绑定以及学习技巧,让学习如此简单

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;程序员-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

游戏专用设备指纹方案解析

如同人类拥有独一无二的指纹&#xff0c;设备也有设备的指纹&#xff0c;我们可以把设备指纹理解为设备的唯一识别码。 构建设备指纹需要采集设备硬件信息、软件信息、环境信息、网络信息等维度信息&#xff0c;进行加密/压缩&#xff0c;再通过算法处理&#xff0c;赋予设备唯…

音转文工具,9.8k star! 【送源码】

我们经常会遇到将音频转为文字的情况&#xff0c;比如在开会时录音的会议纪要、上课时录下的老师讲课内容。虽然网上也有一些在线的工具可以将音频转为文字&#xff0c;但是考虑到数据安全和费用问题&#xff0c;使用起来也不是很方便。 今天了不起给大家介绍一款开源工具——…

短信清空了!华为手机短信删除了怎么恢复?

“有没有人知道这是怎么回事呀&#xff0c;原先有一千多条未读一直放着没管&#xff0c;昨天根本没打开短信这个软件&#xff0c;今晚突然发现只剩一条了&#xff0c;是华为手机自动清理了吗&#xff01;到底该怎么恢复呀&#xff1f;我真崩溃&#xff01;” 在日常生活中&…

设计模式之服务定位器模式

想象一下&#xff0c;你的Java应用是一座庞大的迷宫&#xff0c;里面藏着无数宝贵的服务宝藏&#xff0c;而你正需要一张精确的藏宝图来指引方向&#xff0c;迅速找到并利用这些宝藏。服务定位器模式&#xff0c;正是这样一张神奇的地图&#xff0c;它帮你动态定位并获取应用中…

振动分析的一些概念

一.时域分析 振动测试领域中&#xff0c;通常使用标准是ISO 10816系列标准&#xff0c;其要去使用有效值&#xff08;RMS&#xff09;来表示震动信号的能量大小&#xff0c;并提供一组限制值&#xff0c;以帮助用户评估机器的振动水平是否正常。 1.位移&#xff1a; 峰峰&…

【C++】C/C++中新const用法:const成员

欢迎来到CILMY23的博客 本篇主题为&#xff1a; C/C中新const用法&#xff1a;const成员 个人主页&#xff1a;CILMY23-CSDN博客 系列专栏&#xff1a;Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux 感谢观看&#xff0c;支持的可以给个一键三连&#xff0c;点赞…

8、基本数据类型转换(自动转换和强制转换)

基本类型转换 1、自动类型转换2、强制类型转换 1、自动类型转换 定义&#xff1a;当Java程序在进行赋值或者运算时&#xff0c;精度小的类型会自动转换成精度大的数据类型&#xff0c;这个就是自动类型转换。&#xff08;自动小转大&#xff09; 背多芬&#xff1a; 这里要明…

【二维数组】

目录 作业 对比&#xff1a; 结果&#xff1a; 二维数组 二维数组的初始化 作业 作业 #define max(a,b)(a>b)?a:b #include<stdio.h> int main() {int x, y,c;scanf("%d %d", &x,&y);cmax(x, y);printf("%d", c);return 0; } 对比…

深入理解Django:中间件与信号处理的艺术

title: 深入理解Django&#xff1a;中间件与信号处理的艺术 date: 2024/5/9 18:41:21 updated: 2024/5/9 18:41:21 categories: 后端开发 tags: Django中间件信号异步性能缓存多语言 引言 在当今的Web开发领域&#xff0c;Django以其强大的功能、简洁的代码结构和高度的可扩…

小丑的身份证和复印件 (BFS + Floyd)

本题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 题目&#xff1a; 样例&#xff1a; 输入 2 10 (JOKERjoke #####asdr) 输出 12 思路&#xff1a; 根据题意&#xff0c;要求最短时间&#xff0c;实际上也可以理解为最短距离。 所以应该联想到有关最短距离的算法&…

开源项目介绍-02 Aubio【1】环境配置和使用 @ Ubuntu + Pycharm + Python

前言&#xff1a; aubio 是一组算法和工具&#xff0c;用于标记和变换音乐和声音。它扫描或监听音频信号&#xff0c;并尝试识别音乐事件。例如&#xff0c;当鼓被击打时&#xff0c;它能检测到音符的频率&#xff0c;或者一个有节奏的旋律的节拍是多少。 aubio 的功能包括&a…

基于stm32的spi从机实验HAL库编程

目录 基于stm32的spi从机实验HAL库编程前言业务场景硬件设计接线配置swd接口配置spi配置DMA配置中断配置系统时钟配置工程生成代码写点从机代码上机现象后记本文使用的测试工程 基于stm32的spi从机实验HAL库编程 前言 在微控制器的世界中&#xff0c;串行外设接口(SPI)是一种…

ICode国际青少年编程竞赛- Python-2级训练场-for循环练习2

ICode国际青少年编程竞赛- Python-2级训练场-for循环练习2 1、 for i in range(5):Dev.step(9 - i * 2)Dev.turnLeft()2、 for i in range(3):Spaceship.step(i 1)Spaceship.turnRight()Spaceship.step(i 1)Spaceship.turnLeft()3、 for i in range(4):Dev.step(10 - i…

接口测试必备技能

接口测试&#xff0c;其实并没有那么可怕&#xff0c;但是作为测试人员也是必不可少的技能。 接口分为&#xff1a;内部接口和外部接口。 内部接口&#xff1a;是浏览器与服务器的接口。这个很容易理解&#xff0c;web开发一般分前端和后端&#xff0c;前端开发人员用html/css…