mysql第三次上机

2023-10-31

Mysql第三次上机

上机3
1、 基于第一次上机创建的银行数据库,创建一个函数,为所有存款账户增加1%的利息。
2、 创建一个新表branch_total,用于存储各个支行的存款总额(表中有branch_name和total_balance两个属性)。然后在这个表上,创建一个触发器,实现当有用户存款变动(包括增加、删除和更新)时,brach_total表中的存款总额跟着自动更新。

上机代码分享

/*3-1*/
use BANK337;

select * from account337;

delimiter $   /*将结束符设为$, 下面sql语句部分可能会用到; 以免冲突*/

/*创建函数*/
create function add_one_percent() returns varchar(255)
begin
update account337 set balance = balance * 1.01;
return "add successfully!";
end $
/*创建完成*/
delimiter ;

select add_one_percent();
select * from account337;

/*3-2*/
create table branch_total(
branch_name varchar(50) primary key,
balance_total numeric(10,2),
foreign key(branch_name) references branch337(branch_name)
);

/*从account中向branch_total插入数据*/
insert into branch_total(branch_name, balance_total)
(select b.branch_name, sum(b.balance)
	from account337 b 
	group by b.branch_name
);

select * from branch_total;

/*给branch_total中branch_name设置unique索引*/
alter table branch_total add unique(branch_name);

/*创建insert触发器并做测试*/
delimiter $
select * from account337$
select * from branch_total$
create trigger branch_total_insert_trigger
after insert
on account337
for each row
begin
insert into branch_total(branch_name, balance_total)
values (new.branch_name, new.balance)
on duplicate key /*如果存在则更新,不存在则插入*/
update balance_total = balance_total + new.balance;
end $

insert into account337 values('A-301','Downtown',100)$
select * from account337$
select * from branch_total$
insert into account337 values('A-400','Pownal',300)$
select * from account337$
select * from branch_total$
/*insert触发器创建及测试完成*/

/*创建update触发器并测试*/
create trigger branch_total_update_trigger
after update
on account337
for each row
begin
update branch_total 
	set balance_total = balance_total - old.balance + new.balance
	where branch_name = old.branch_name;
end $

update account337 set balance = 100 where account_number = 'A-400'$
select * from account337$
select * from branch_total$
/*update完成*/

/*创建delete触发器并测试*/
create trigger branch_total_delete_trigger
after delete
on account337
for each row
begin
update branch_total set balance_total = balance_total - old.balance
	where branch_name = old.branch_name;
end $

delete from account337 where account = 'A-301'$
select * from account337$
select * from branch_total$
/*delete完成*/

delimiter ;

上机代码含注释

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql第三次上机 的相关文章

  • Hibernate 可以使用 MySQL 的“ON DUPLICATE KEY UPDATE”语法吗?

    MySQL 支持 INSERT ON DUPLICATE KEY UPDATE 语法允许您 盲目 插入数据库 并回退到更新现有记录 如果存在 当您想要快速事务隔离并且想要更新的值取决于数据库中已有的值时 这非常有用 作为一个人为的示例 假设
  • MySQL 导入 125000 行 CSV 的最快方法?

    这是我第一次使用 MySQL 除了对现有数据库进行一些基本查询之外 所以我不擅长解决这个问题 我有一个包含 125 000 条记录的 CSV 我想将其加载到 MySQL 中 我安装了版本 8 和工作台 我使用导入向导加载 CSV 它开始导入
  • SQL统计高于和低于平均分的学生人数

    我在下面有一个示例表 我试图获取高于平均分数的学生人数和低于平均分数的学生人数 name subject classroom classarm session first term score first term grade std1 m
  • Preg_replace() 删除除查询结尾之外的所有内容

    首先 为我糟糕的英语感到抱歉 我有这样的疑问 SELECT t1 SELECT COUNT FROM table a t2 WHERE t1 id t2 id c AND t2 status 1 AS aula FROM table c t
  • MySQL 按主键排序

    某些 SQL 服务器允许使用通用语句 例如ORDER BY PRIMARY KEY 我不相信这适用于 MySQL 是否有任何此类解决方法可以允许跨多个表自动选择 或者是否需要查找查询来确定主键 我一直在研究的解决方法包括调用SHOW COL
  • 通过货币换算获取每种产品类型的最低价格

    我想选择每种产品类型中最便宜的 包括运费 价格转换为当地货币 最便宜 产品 价格 产品 运费 seller to aud 我的数据库有如下表 PRODUCTS SELLERS id type id seller id price shipp
  • MySQL+子串怎么做? + 替换?

    我不太擅长 SQL 希望能够变得更好 我在尝试执行某些表操作时遇到一些麻烦 我希望能够从下面的 ProgUID 列中选择子字符串 就像是 SUBSTRING table ProgUID 3 12 这将为我提供 ProgUID P CAMVE
  • MySQL 服务器未启动

    当我做 mysql u root p并输入my password这就是我得到的 错误 2002 HY000 无法通过套接字 var run mysqld mysqld sock 连接到本地 MySQL 服务器 2 所以我输入 systemc
  • 将记录分成两列

    我的数据库中有一个 学生 表 其中包含大约 5 000 条记录 我想将这些记录显示在two分区 如何在不执行查询两次的情况下做到这一点 仅使用单个查询 显示示例http www freeimagehosting net uploads f1
  • ActiveRecord3死锁重试

    Rails 3 或 ActiveRecord 3 是否有任何插件可以复制旧版本死锁重试 http agilewebdevelopment com plugins deadlock retry插入 或者 该插件仍然适用于 Rails 3 吗
  • 查询中列的顺序重要吗?

    当从 MySQL 表中选择列时 与表中的顺序相比 选择列的顺序是否会影响性能 不考虑可能覆盖列的索引 例如 您有一个包含行 uid name bday 的表 并且有以下查询 SELECT uid name bday FROM table M
  • mysql-如何向列申请补助?

    用户名 撤销对数据库的选择 Person I set GRANT SELECT id ON database Person TO username localhost 不是工作 gt SELECT secret FROM Person Go
  • 如何使用 MySQL 的 LOAD DATA LOCAL INFILE 在导入 CSV 时将字符串日期更改为 MySQL 日期格式

    我正在使用 MySQL 的 LOAD DATA LOCAL INFILE SQL 语句将数据从 CSV 文件加载到现有数据库表中 下面是一个 SQL 语句示例 LOAD DATA LOCAL INFILE file csv INTO TAB
  • 当sql连接中存在两个同名列时,如何从一个表列中获取值

    当我连接两个具有相同名称列的表时 我目前面临着尝试获取值的问题 例如 table1 date和table2 date 每个表中的日期不同 我将如何获取 日期 本例中的表1 我目前正在跑步 while row mysqliquery gt f
  • 阻止注销页面后的后退按钮

    我有 php 注销页面 当用户单击注销链接时 请参阅此页面并重定向到索引页面 但是当单击后退按钮时 我会看到带有用户数据的上一页 当然 当我刷新页面时 我看不到以前的页面和数据 我在单击注销并单击后退按钮后检查了其他代码 drupal 但我
  • 如何在Mysql中仅将不同的值从一个表复制到另一个表?

    我有一个大约 2 5GB 的 MySql 数据库 表 A 具有以下列 anoid query date item rank url 我刚刚创建了另一个仅包含列的表 b query and date 我想在查询列中插入所有不同的记录 及其各自
  • 无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地 MySQL 服务器 (2)

    当我尝试连接 mysql 时出现以下错误 Can t connect to local MySQL server through socket var lib mysql mysql sock 2 这个错误有解决办法吗 其背后的原因可能是什
  • 使用 PHP 的 MySQL 连接字符串

    我正在尝试通过本地计算机连接到托管在我的服务器上的数据库 我的服务器有cPanel 11 它是一个典型的共享服务器 由CentOS提供支持 安装了PHP和MySQL 准确地说 我在同一台服务器上持有经销商帐户 我想在不同帐户或域之间访问数据
  • MySQL MIN/MAX 所有行

    我有桌子Races与行ID Name and TotalCP 我选择分钟 TotalCP FROM Races 但是我想选择具有最小值的整行 我如何在单个查询中做到这一点 从聚合值获取整行的一般形式是 SELECT FROM Races W
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int

随机推荐

  • JAVA设计模式_模拟小电器(升级优化)

    设计目的 模拟一个带控制开关的小电器 该电器上有4个开关 2个一组 其中一组负责打开 关闭小电器上的照明灯 另一组负责打开 关闭小电器上的摄像头 设计要求 1 设计Camera类 模拟摄像头 和Light类 模拟照明灯 2 设计Machin
  • PASCAL VOC2012数据集以及制作自己的数据集

    目录 VOC2012目录结构 制作自己的数据集 标注图片软件 使用流程 软件使用 VOC2012目录结构 制作自己的数据集 标注图片软件 github开源项目 形成的是xml文件格式 使用流程 软件使用
  • 二叉搜索树的最近公共祖先Python解法

    给定一个二叉搜索树 找到该树中两个指定节点的最近公共祖先 百度百科中最近公共祖先的定义为 对于有根树 T 的两个结点 p q 最近公共祖先表示为一个结点 x 满足 x 是 p q 的祖先且 x 的深度尽可能大 一个节点也可以是它自己的祖先
  • 浙江移动容器云基于 Dragonfly 的统一文件分发平台生产实践

    2018 年 11 月 源于阿里巴巴的云原生镜像分发系统 Dragonfly 在 KubeCon 上海现场亮相 成为 CNCF 沙箱级别项目 Sandbox Level Project Dragonfly 主要解决以 Kubernetes
  • BCOS区块链性能分析工具的安装和使用perf+火焰图

    安装Perf perf的全称是Performance Event 在2 6 31版本后的Linux内核中均有集成 是Linux自带的强力性能分析工具 使用现代处理器中的特殊硬件PMU Performance Monitor Unit 性能监
  • Linux nfs挂载目录无响应解决方法

    Linux nfs挂载目录无响应解决方法 笔者在搭载linux系统的开发板上 使用nfs挂载乌班图虚拟机的目录时 在开发板上 这要涉及到挂载的目录 shell就会卡死 各种查找测试后 发现一种解决方法 卡死的原因是虚拟机的ip地址发生变化
  • Vue知识点总结(17)——作用域插槽(超级详细)

    之前分别了解了匿名插槽和具名插槽 这期我们的任务是作用域插槽 作用域插槽虽然用的不多 但是还是挺重要的 我们以一个实际需求来展示作用域插槽 因为作用域插槽用的确实不多 只能在实际需求中展示它的意义 需求 已经开发了一个待办事项列表的组件 很
  • 我彻底服了,大牛讲解信号与系统(通俗易懂)

    我彻底服了 大牛讲解信号与系统 通俗易懂 2015 10 13 21 22 36 转载 分类 电力电子技术 第一课什么是卷积卷积有什么用什么是傅利叶变换什么是拉普拉斯变换 引子 很多朋友和我一样 工科电子类专业 学了一堆信号方面的课 什么都
  • GitHub ssh-key配置

    1 安装GitHub https desktop github com 2 生成ssh key 1 打开github运行窗口 2 输入命令如下命令 这里的邮箱账号为GitHub注册时的账号 ssh keygen t rsa C xxxxxx
  • CSS&JS两种方式实现手风琴式折叠菜单

    div class accordion div class section h3 a href one 折叠栏1 a h3 div class image img src div div div class section h3 a hre
  • Maximum call stack size exceeded

    前言 小程序探究之路 报错显示 报错原因 这个意思是 超出最大调用堆栈大小 我这里是调用了腾讯的地图 然后排查各种情况 最后发现是我再注册的时候 直接用了map这个名字 但是实际上 我们调用腾讯接口用的也是map的标签 错误代码 1 调用界
  • u-boot项目管理:.config的生成

    总体简略描述 config是 scripts kconfig conf程序从根目录开始分析Kconfig文件 并结合xxx deconfig生成的配置文件 1 输入命令 make zynq defconfig 2 开始解析 Makefile
  • 需求跟踪矩阵实例_如何利用seaborn进行矩阵散点图(Pairs Plots)的绘制?

    点击上方蓝字 关注我们 如何快速创建强大的可视化探索性数据分析 这对于现在的商业社会来说 变得至关重要 今天我们就来 谈一谈如何使用 python 来进行数据的可视化 一旦你有了一个很好的被清理过的数据集 下一步就是探索性数据分析 EDA
  • Mybatis Plus实现逻辑删除

    文章目录 1 什么是逻辑删除 2 使用说明 3 如何使用Mybatis Plus实现逻辑删除 4 测试 1 什么是逻辑删除 逻辑删除是名义上的删除 就是对要要删除的数据打上一个删除标记 在逻辑上数据是被删除的 但数据本身依然存在 可通过修改
  • MHA-6 两个脚本 master_ip_failover master_ip_online_change

    master ip failover usr bin env perl use strict use warnings FATAL gt all use Getopt Long my command ssh user orig master
  • 2023天梯赛个人题解

    文章目录 L1 1 最好的文档 L1 2 什么是机器学习 L1 3 程序员买包子 L1 4 进化论 L1 5 猜帽子游戏 L1 6 剪切粘贴 L1 7 分寝室 L1 8 谁管谁叫爹 L2 1 堆宝塔 L2 2 天梯赛的赛场安排 L2 3 锦
  • vue通过el-upload组件上传文件到服务器使用总结

    vue通过el upload组件上传文件到服务器使用总结 1 业务需求 vue项目需要通过elementUI的el upload组件上传文件 但是一般情况下请求接口是需要携带token值的 如果不携带则上传不成功 而el upload是通过
  • python为什么叫爬虫?Python和爬虫有什么关系?

    提到Python有同学自然就想到爬虫 但实际上Python和爬虫并不是一个概念的东西哦 下面小千就来给大家介绍一下 爬虫 爬虫又称网络爬虫 又称为网页蜘蛛 网络机器人 在FOAF社区中间 经常的称为网页追逐者 是一种按照一定的规则 自动地抓
  • 【单目标优化算法】沙猫群优化算法(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 本研究提出了一种新的元启发式算法 称为沙猫
  • mysql第三次上机

    Mysql第三次上机 上机3 1 基于第一次上机创建的银行数据库 创建一个函数 为所有存款账户增加1 的利息 2 创建一个新表branch total 用于存储各个支行的存款总额 表中有branch name和total balance两个