数据库-MySQL之数据库必知必会22-26章

第 22 章 使用视图

视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。
在这里插入图片描述
使用视图
视图用CREATE VIEW语句来创建。
使用SHOW CREATE VIEW viewname;来查看创建视图的语句。
用DROP删除视图,其语法为DROP VIEW viewname;。
更新视图时,可以先用DROP再用CREATE,也可以直接用CREATE OR REPLACE VIEW。如果要更新的视图不存在,则第2条更新语句会创建一个视图;如果要更新的视图存在,则第2条更新语句会替换原有视图。
利用视图简化复杂的联结
可以将复杂联结创建为视图 然后在视图中进行操作

第23章 使用存储过程

  1. 经常会有一个完整的操作需要多条语句才能完成。执行这个操作需要针对许多表的多条MySQL语句。此外,需要执行的具体语句及其次序也不是固定的可以创建存储过程。
  2. 存储过程有3个主要的好处,即简单、安全、高性能
  3. MySQL执行存储过程的语句为CALL。CALL接受存储过程的名字以及需要传递给它的任意参数。
    在这里插入图片描述

创建存储过程

示例:
在这里插入图片描述

删除存储过程

在这里插入图片描述

使用参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
onumber定义为IN,因为订单号被传入存储过程。ototal定义
为OUT,因为要从存储过程返回合计。

建立智能存储过程

使用IF语句
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
–为注释

第24章 使用游标

需要在检索出来的行中前进或后退一行或多行。这就是使用游标的原因。游标(cursor)是一个存储在MySQL服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据
游标的使用步骤
在这里插入图片描述
创建游标
在这里插入图片描述
这个存储过程并没有做很多事情,DECLARE语句用来定义和命
名游标,这里为ordernumbers。存储过程处理完成后,游标就
消失(因为它局限于存储过程)。

第25章 使用触发器

想要某条语句(或某些语句)在事件发生时自动执行,shiy

 唯一的触发器名;
 触发器关联的表;
 触发器应该响应的活动(DELETEINSERTUPDATE);
 触发器何时执行(处理之前或之后)。

在这里插入图片描述
只有表才支持触发器,视图不支持(临时表也不支持)

不同触发器的原理

INSERT触发器
在INSERT触发器代码内,可引用一个名为NEW的虚拟表,访问被插入的行;
 在BEFORE INSERT触发器中,NEW中的值也可以被更新(允许更改被插入的值);
 对于AUTO_INCREMENT(自增)列,NEW在INSERT执行之前包含0,在INSERT执行之后包含新的自动生成值
DELETE触发器
在DELETE触发器代码内,你可以引用一个名为OLD的虚拟表,访问被删除的行;OLD中的值全都是只读的
UPDATE触发器
 在UPDATE触发器代码中,你可以引用一个名为OLD的虚拟表访问以前(UPDATE语句前)的值,引用一个名为NEW的虚拟表访问新更新的值;
 在BEFORE UPDATE触发器中,NEW中的值可能也被更新(允许更改将要用于UPDATE语句中的值);
 OLD中的值全都是只读的,不能更新。

第 26 章 管理事务处理

InnoDB支持事务处理
事务处理(transaction processing)可以用来维护数据库的完整性,它保证成批的MySQL操作要么完全执行,要么完全不执行。
概念

  • 事务(transaction)指一组SQL语句;
  • 回退(rollback)指撤销指定SQL语句的过程;
  • 提交(commit)指将未存储的SQL语句结果写入数据库表;
  • 保留点(savepoint)指事务处理中设置的临时占位符(placeholder),你可以对它发布回退(与回退整个事务处理

控制事务处理

事务开始
在这里插入图片描述
ROLLBACK
回退从某一点到Rolllback的所有操作
使用COMMIT
在这里插入图片描述

使用事务处理块来
保证订单不被部分删除。最后的COMMIT语句仅在不出错时写出更改。如
果第一条DELETE起作用,但第二条失败,则DELETE不会提交
使用保留点
回退部分事务处理

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

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

相关文章

开发猿的平平淡淡周末---2023/12/3

2023/12/3 天气晴 温度适宜 AM 早安八点多的世界,起来舒展了下腰,阳光依旧明媚,给平淡的生活带来了一丝暖意 日常操作,喂鸡,时政,洗漱,恰饭,肝会儿游戏 看会儿手机 ___看累…

数据结构 | 查漏补缺之ASL、

目录 ASL 情形之一:二分查找 线索二叉树 哈夫曼树 大根堆 邻接表&邻接矩阵 ASL 参考博文 关于ASL(平均查找长度)的简单总结_平均查找长度asl-CSDN博客 情形之一:二分查找 线索二叉树 参考博文 线索二叉树(线索链表遍历,二叉树…

Unity中Shader指令优化

文章目录 前言解析一下不同运算、条件、函数所需的指令数1、常数基本运算2、变量基本运算3、条件语句、循环 和 函数 前言 上一篇文章中,我们解析了Shader解析后的代码。我们在这篇文章中来看怎么实现Shader指令优化 Unity中Shader指令优化(编译后指令…

【深度学习实验】图像处理(四):PIL——自定义图像数据增强操作(图像合成;图像融合(高斯掩码))

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 导入必要的库1. PIL基础操作2~4. 随机遮挡、随机擦除、线性混合5. 图像合成5.1 原理5.2 实现5.3 效果展示 6. 图像融合6.1 原理6.2 实现6.3 效果展示 一、实验介绍 在深度学习任务中&#xff0c…

MySQL进阶_EXPLAIN重点字段解析

文章目录 第一节.准备1.1 版本信息1.2 准备 第二节.type2.1 system2.2 const2.3 eq_ref2.4 ref2.5 ref_or_null2.6 index_merge2.7 unique_subquery2.8 range2.9 index2.10 all 第三节. Extra3.1 No tables used3.2 No tables used3.3 Using where3.4 No matching min/max row3…

【数据结构高阶】AVL树

上期博客我们讲解了set/multiset/map/multimap的使用,下面我们来深入到底层,讲解其内部结构: 目录 一、AVL树的概念 二、AVL树的实现 2.1 节点的定义 2.2 数据的插入 2.2.1 平衡因子的调整 2.2.1.1 调整平衡因子的规律 2.2.2 子树的旋…

JavaEE 多线程

JavaEE 多线程 文章目录 JavaEE 多线程引子多线程1. 特性2. Thread类2.1 概念2.2 Thread的常见构造方法2.3 Thread的几个常见属性2.4 启动一个线程2.5 中断一个线程2.6 等待一个线程2.7 获取当前线程引用2.8 休眠当前线程 3. 线程状态 引子 当进入多线程这一块内容时&#xff…

2023-12-03 LeetCode每日一题(可获得的最大点数)

2023-12-03每日一题 一、题目编号 1423. 可获得的最大点数二、题目链接 点击跳转到题目位置 三、题目描述 几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。 每次行动,你可以从行的开头或者末尾拿一张卡牌&#x…

使用OpenMVS重建模型

1、数据格式转换 首先将生成的稠密点云以及图片信息转换成openmvs支持的.mvs文件。在openmvs_sample中的bin文件内打开终端 作者:舞曲的小水瓶 https://www.bilibili.com/read/cv25019877/ 出处:bilibili interfaceCOLMAP.exe -i D:\desktop\test\toy\…

【Linux服务器Java环境搭建】05 Node JS安装及环境变量配置

【Linux服务器Java环境搭建】01购买云服务器以及在服务器中安装Linux系统 【Linux服务器Java环境搭建】02 通过xftp和xshell远程连接云服务器 【Linux服务器Java环境搭建】03 Git工具安装 【Linux服务器Java环境搭建】04 JDK安装(JAVA环境安装) 【Linux服…

flink源码分析 - 命令行参数解析-CommandLineParser

flink版本: flink-1.11.2 调用位置: org.apache.flink.runtime.entrypoint.StandaloneSessionClusterEntrypoint#main 代码位置: flink核心命令行解析器: org.apache.flink.runtime.entrypoint.parser.CommandLineParser /** Licensed to the Apache Software Foundati…

基于OpenAPI工具包以及LSTM的CDN网络流量预测

基于LSTM的CDN网络流量预测 本案例是基于英特尔CDN以及英特尔 OpenAPI Intel Extension for TensorFlow* Intel oneAPIDPC Library 的网络流量预测,CDN是构建在现有网络基础之上的智能虚拟网络,目的是将源站内容分发至最接近用户的节点,使用…

unity学习笔记17

一、动画组件 Animation Animation组件是一种更传统的动画系统,它使用关键帧动画。你可以通过手动录制物体在时间轴上的变换来创建动画。 一些重要的属性: 1. 动画(Animation): 类型: Animation组件允许…

使用Prometheus监控Padavan路由器

Prometheus监控Padavan路由器 1、背景 近期在Synology(群辉)中安装一套Prometheus监控程序,目前已经监控Synology,然后家中有有路由器(Padavan)型号,也准备使用PrometheusGrafan进行监控。 ‍…

采集工具-免费采集器下载

在当今信息时代,互联网已成为人们获取信息的主要渠道之一。对于研究者和开发者来说,如何快速准确地采集整个网站数据是至关重要的一环。以下将从九个方面详细探讨这一问题。 确定采集目标 在着手采集之前,明确目标至关重要。这有助于确定采集…

冲突域和广播域

文章目录 冲突域广播域 冲突域 在网络内部两个数据帧同时进行传输时,产生与发生冲突的区域,所有共享介质都是一个冲突域。冲突域时基于第一层,物理层的。 集线器和中继器因为都在物理层,没有MAC地址表,所以不能隔离冲…

数据结构之堆排序以及Top-k问题详细解析

个人主页:点我进入主页 专栏分类:C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 欢迎大家点赞,评论,收藏。 一起努力 目录 1.前言 2.堆排序 2.1降序排序 2.2时间复杂…

Prime 1.0

信息收集 存活主机探测 arp-scan -l 或者利用nmap nmap -sT --min-rate 10000 192.168.217.133 -oA ./hosts 可以看到存活主机IP地址为:192.168.217.134 端口探测 nmap -sT -p- 192.168.217.134 -oA ./ports UDP端口探测 详细服务等信息探测 开放端口22&#x…

【Vulnhub 靶场】【HackathonCTF: 2】【简单】【20210620】

1、环境介绍 靶场介绍:https://www.vulnhub.com/entry/hackathonctf-2,714/ 靶场下载:https://download.vulnhub.com/hackathonctf/Hackathon2.zip 靶场难度:简单 发布日期:2021年06月20日 文件大小:2.6 GB 靶场作者&…

54.多级缓存

目录 一、传统缓存的问题、多级缓存方案。 二、JVM进程缓存。 1)进程缓存和缓存。 2)导入商品案例。 1.安装MySQL 2.导入SQL 3.导入Demo工程 4.导入商品查询页面 3)初识Caffeine(就是在springboot学过的注解方式的cache&…