MySql入门学习 DAY43(视图 事务 存储过程 )

100天玩转python——day43 Django实战,彻底掌握MVC模型概念 对字段名称的限制字段名不能是Python的保留字,否则会导致语法错误字段名不能有多个连续下划线,否则影响ORM查询操作Django模型字段类字段类说明AutoField自增ID字段64位有符号整数存储二进制数据的字段,对应Python的bytes类型存储True或FalseCharField长度较小的字符串DateField存储日期,有auto_now和属性存储日期和日期,两个附加属性同上存储固定精度小数,有max_digits(有效位数)和(小数点后面)两个必要的参数存储时间跨度。 阅读详情

MySql入门学习(数据库mysql)

DAY43

今日内容:

视图

事务

存储过程

 

 

 

视图

视图:本质是一张虚拟的表,根据SQL语句获取动态的数据集,并为其命名

作用:隐藏部分数据 开放指定数据

        视图可以将查询结果保存  可以用视图达到减少书写sql的次数

创建视图: CREATE VIEW 视图名称 AS SQL语句

特点: 每次对视图进行查询 都是再次执行了 AS 后面的查询语句 效率不高

         可以对视图进行修改  修改会同步到原表 但是不建议这么做

         视图是永久存储的  存储了sql语句 

使用视图: 

SELECT *FROM 视图名称   # 查看视图表的内容

UPDATE 视图名称 SET  字段=新值  # 更新视图中的数据

INSERT INTO 视图名称 VALUES (值1,值2...)  # 往视图中插入数据

修改视图:

ALTER VIEW 视图名称 AS SQL语句   # 修改视图中的SQL语句

删除视图:

DROP VIEW 视图名称

 

事务

事务:用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,

从而保证数据库数据完整性

事务的特性:

1. 原子性 : 事务是一个整体 不可分割

2. 隔离性 : 事务之间要相互隔离 为了维护数据完整性

在并发访问数据库时 会有一些问题:

脏读: 读取了为被提交的数据

幻读:  一个查询事务没有结束时 另一个事务插入或删除了数据

不可重复读 : 一个事物在查询 另一个事务在 更新数据

因此有四种隔离级别

读未提交

读已提交

可重复读 (默认级别)

串行化

3. 一致性: 当事务执行后 所有的数据都是完整的

4.持久性: 一旦事务提交 数据就永久保存

 

存储过程

存储过程:包含了一系列可执行的sql语句,存储过程存放于MySQL中

通过调用它的名字可以执行其内部的一堆sql

作用: 可以将的程序业务逻辑 放到mysql中来处理 ,降低网络访问次数 从而提高程序效率

优点: 实现程序与sql解耦   基于网络传输,传别名的数据量小,而直接传sql数据量大

缺点: 扩展功能不方便  沟通成本增高

三种开发模型: 

方式一:MySQL:存储过程    程序:调用存储过程

方式二:MySQL    程序:纯SQL语句

方式三:MySQL    程序:类和对象,即ORM(本质还是纯SQL语句)

语法:  

create procedure 过程名称 ( {in,out,inout}  数据类型  参数名称)

begin

sql代码

end

 

参数前面需要指定参数的作用

in 仅用于传入参数用

out 仅用于返回值用

inout 既可以传入又可以当作返回值

 

案例 : 创建一个存储过程 作用是将两个整数相加

由于 mysql默认结束符就是分号  而存储过程也是用分号来表示结束 

那么这时 mysql就分不清 到底哪个分号才一行结束

方案:更换 结束符(delimiter + 结束符;)

delimiter //      #   先修改结束符 在执行下面的语句
create procedure add_p (in a int ,in b int ,out c int)
begin 
    set  c= a + b ;
end //

delimiter ;   #   再将结束符修改回来

调用 :  
call add_p(1,2)

 

 案例:创建一个存储过程 作用是将两个整数相加 将结果保存在变量中

定义一个变量  定义的变量在断开连接后被释放
set @su = 100;
create procedure add_p2 (in a int,in b int,out su int)
begin
    set su = a + b;
end
//
调用
call add_p2(10,20,@su);

mysql中的if语句

if 条件 then
代码
elseif 条件 then
代码
else then
代码
end if;

 

案例: 使用存储过程 完成  输入 一个 数字 1或2   显示 壹 或 贰

create procedure show_p (in a int)
begin
if a = 1 then
	select "壹";
elseif a = 2 then
	select "贰";
else
	select "other";
end if;
end //

 

以上为本次学习内容

 

最详细的 SAP ABAP Web Service 创建和消费步骤讲解 本文原版发表于 SAP 官方社区,当时用的英文版写作,标题为:Step by step to create, consume and trace web service in ABAP system https://blogs.sap.com/2014/05/20/step-by-step-to-create-consume-and-trace-web-service-in-abap-system/ 总共阅读量超过 18 万。 How to create web service provider in A 阅读详情

相关推荐

FID指标实战:如何用Python快速计算生成图像的质量分数(附完整代码)

本文详细介绍了如何使用Python计算Fréchet Inception Distance(FID)指标,以评估生成图像的质量。通过完整的代码示例和优化技巧,帮助开发者快速实现FID计算,并解读分数背后的实际意义,适用于GAN和扩散模型的性能评估。

weixin_28718487的博客 376

day43

视图就是通过查询得到一张虚拟表,然后保存下来,下次直接使用即可开启一个事务可以包含一些sql语句,这些sql语句要么同时成功要么一个都别想成功,称之为事务的有原子性。

qq_67257222的博客 445

【顾邦小讲堂】第二十四期 电源环路测试从入门到精髓:一文掌握环路测试原理与电压注入点选择依据

电源环路测试是评估开关电源、线性电源等闭环系统稳定性的核心手段,直接关系到电源的稳定性、输出精度、动态响应、抗干扰能力甚至可靠性

GBupupup的博客 2111

day 43

今日内容   1.视图   2.事务   3.SQL注入问题   4.存储过程 首先回顾一下昨天所学 子查询:   in (select a where 字段名 in select b)   exists(判断后面语句执行结果是否为True 为True执行外层语句 False不执行外层语句) 正则表达式匹配   因为MySQL自身模糊查找只支持_和%查询 ...

dd125130的博客 105

iTunes登录协议抓包实战:绕过反检测与TLS解密的完整方案

在软件逆向与网络协议分析中,抓包工具扮演着关键角色。代理型工具如Fiddler通过修改系统代理实现HTTPS解密,而驱动型工具如HTTPDebugger则注入进程钩取网络API,但这些实现机制往往会被具有反检测策略的客户端识别。以iTunes登录协议为例,其内置证书锁定、进程完整性与系统代理检测等防护,导致常规抓包方案失效。从工具原理出发,对比不同抓包方案的暴露面,重点介绍如何利用Fiddler通过中间人代理获取明文流量,以及使用Wireshark进行被动监听规避检测的进阶技巧,并总结常见问题排查经验,为分

weixin_28607671的博客 366

使用STM32F103C8T6控制舵机丝滑运转附代码

使用STM32F103C8T6控制舵机丝滑运转原理和案例,附代码。

m0_63566592的博客 4237

Python Day43

PyMySQL: (*******************************) a. 登录验证 写sql语句的时候, %传值的时候, 需要加引号: sql = "select * from t4 where name = '%s' and pwd = '%s'" % (username, pwd) 上面的sql语句带来的风险是: 例一: u...

weixin_33832340的博客 144

[AI] 企业内网部署大模型的三种常见方案:从“能用”到“好用”的技术选型指南

企业内网部署大模型的三种方案解析:本地模型安全但门槛高,平台方案(如Dify)最平衡推荐,混合架构适合进阶需求。关键路径是渐进式演进,从快速验证到平台化建设,核心在于流程优化而非单纯选模型。数据安全、成本可控和工程落地能力是决策重点。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 770

mysql 存储过程 注入_MySQL数据库(六) —— SQL注入攻击、视图、事物、存储过程、流程控制...

SQL注入攻击、视图、事物、存储过程、流程控制一、SQL注入攻击1、什么是SQL注入攻击importpymysqlconn=pymysql.Connect(user="root",password="admin",host="localhost",database="day43",charset="utf8")cursor=conn.cursor(pymysql.cursors.DictCurso...

weixin_35598104的博客 410

《UDS协议从入门到精通》系列——图解0x10:诊断会话控制

什么是诊断会话控制服务?切换模式时ECU要做哪些?有没有通信示例?本文全网最详解!!

车载系统攻城狮 1万+

嵌入式面试题精选100道及参考答案(4万字长文)

指针是C语言中一种特殊的变量,它存储的是另一个变量的内存地址。指针的使用提供了一种间接访问和操作内存的方法。地址操作:通过使用运算符,可以获取变量的地址,并将这个地址赋值给指针变量。间接引用:使用运算符可以访问指针指向的变量的值。动态内存分配:指针用于动态地分配和释放内存。数组操作:指针可以用于遍历和操作数组。函数参数:指针作为函数参数可以改变原始数据。字符串操作:在C语言中,字符串通常以字符数组的形式存在,并通过字符指针进行操作。// 指向数组的第一个元素i < 5;++i) {在这个例子中,

大模型大数据攻城狮的专栏 1971

mysql_day2总结

是查询语句现在二级索引的叶子节点处找到id值,然后拿着这个id值去聚集索引里面查询这个行数据就叫回表查询联合索引(也叫复合索引)是数据库中基于多个字段组合创建的索引,而非单一字段。它可以理解为把多个字段的值按顺序拼接后生成的索引结构,用于加速多字段组合条件的查询。子查询中,id是主键(默认会有主键索引),而查询字段只有id,此时主键索引就是覆盖索引(因为索引本身包含了查询所需的所有字段)。下节课讲2视图的作用是什么?为什么要用视图?下节课会讲举例;

mrjieke6的博客 895

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

mysql数据库 day06

1.视图 2.触发器 3.事务 4.存储过程 5.pymysql调用存储过程 6.函数(内置函数) 7.流程控制 一.视图 1.什么是视图  视图就是通过查询得到的一张虚拟表,然后保存下来,下次直接使用即可 2.为什么要使用视图   当频繁需要用到多张表的连表的结果,你就可以事先生成好视图, 之后直接调用即可,这样避免了反复写连表操作的sql语句 ...

weixin_30266829的博客 127

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Mysql学习笔记–day06\07\08

问题和知识点1.删除表级约束2.删除表级唯一约束3.删除外键4.向表emp2中添加列dept_id,并在其中定义foreign key约束,与之相关联的列是dept2表中的id列。5.创建表,实现主键自增长,并插入数据6.自增长列\标识列必须和主键搭配吗?7.一个表可以有几个标识列?8.标识列的类型只能是数值类型9.标识列可以通过set auto_increment_increment=3;设置步长,可以通过手动插入值,设置起始值10.修改表时设置标志列11.TCL的全称是什么?12.什么是事务?为什么要有

a1773570500的博客 595

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

mysql 存储过程 注入_MySQL数据库(六)-- SQL注入攻击、视图、事物、存储过程、流程控制...

一些了解sql语法的用户,可以输入一些关键字 或合法sql,来导致原始的sql逻辑发生变化,从而跳过登录验证 或者 删除数据库importpymysqlconn=pymysql.Connect(user="root",password="admin",host="localhost",database="day43",charset="utf8")cursor=conn.cursor(pymysq...

weixin_42337065的博客 335

数据库中的视图的使用与存储过程

视图是什么? 本质是一张虚拟表,他的数据来自select语句。 作用: 功能1:隐藏部分数据,开放指定的数据 功能2:因为视图可以将查询的结果保存特性,我可以用视图来达到减少书写sql的次数 例如:select *from emp where dept_id=(select id from dept where name=”市场”); 要查询市场的人,将查询的结果作为一个试图,以后使用...

weixin_30545285的博客 414

高级mysql优化知识_mysql高级

P1 day01-02. MySQL 高级 - Linux上安装MySQLP2 day01-03. MySQL 高级 - 启动及登录MySQLP3 day01-04. MySQL 高级 - 索引 - 概述P4 day01-05. MySQL 高级 - 索引 - 优势和劣势P5 day01-06. MySQL 高级 - 索引 - 数据结构P6 day01-07. MySQL 高级 - 索引 - 数据...

weixin_34638021的博客 301

Mysql面试题

1.InnoDB和 MyISAM 区别 - InnoDB支持事务,MyISAM不支持 - InnoDB支持外键,而MyISAM不支持 -InnoDB是聚集索引,MyISAM是非聚集索引 -Innodb不支持全文索引,而MyISAM支持全文索引 -InnoDB支持表、行(默认)级锁,而MyISAM支持表级锁 -InnoDB表必须有唯一索引(如主键),而Myisam可以没有 2.innodb引擎的4大特性 插入缓冲 二次写 自适应哈希索引 预读 3.什么是聚簇索引,非聚簇索引 聚簇..

m0_57026595的博客 218

MySQL数据库(六)-- SQL注入攻击、视图、事物、存储过程、流程控制

一、SQL注入攻击 1、什么是SQL注入攻击 一些了解sql语法的用户,可以输入一些关键字 或合法sql,来导致原始的sql逻辑发生变化,从而跳过登录验证 或者 删除数据库 import pymysql conn = pymysql.Connect( user="root", password="admin", host="local...

weixin_30951231的博客 142

数据库——MySQL

MySQL数据库基础教程全面介绍了关系型数据库的核心概念和操作。

qq_46518480的博客 417

mssql 转mysql 函数_MSSQLServer转MySQL实测

按计划今天着手进行将后台数据库从MS SQL Server2000转换成MySQL5.1.3。目的是便于发布软件的测试版本。1. 驱动:mysql-connector-odbc-5.1.11-win32.msi。测试Win7*64, XP通过。2. MySQL_5.1.3免安装版。3. MSS2SQL工具软件转换SQLServer2000的表结构。一共转换了43个表。4. MSSQLServer...

weixin_39945915的博客 263

python进阶训练营百度网盘,python入门后如何进阶

大家好,小编为大家解答python进阶书籍的推荐 知乎的问题。很多人还不知道python进阶训练营极客大学,现在让我们一起来看看吧!

jaskonyee的博客 1938

mysql取3到18之间的数_数据库2018-06-26

########################课堂代码#####################################mysql:典型关系型数据1、安装mysql:window:.msi.zip修改my.inibin添加到path(此电脑右键属性-高级管理设置-环境变量-path新建)以管理员身份打开cmd命令提示符,将路径切换到bin下去注册mysql:mysqld install ...

weixin_39638647的博客 225

Vim正则表达式完全解析:基于vimsheet的高效搜索与替换指南

Vim作为一款功能强大的文本编辑器,其内置的正则表达式引擎为用户提供了高效的文本处理能力。本文将基于vimsheet项目,为你系统讲解Vim正则表达式的核心语法、实用技巧以及在搜索与替换中的应用,帮助你快速掌握这一提升编辑效率的关键技能。 ## 为什么要学习Vim正则表达式? 正则表达式是文本处理的瑞士军刀,而Vim的正则实现更是凝聚了数十年编辑器设计的智慧。掌握Vim正则表达式,你将能够:

gitblog_00508的博客 1044

Day43[20180716]_Spark SQL(二)

Spark SQL是Spark 框架中一个重要模块 SparkSQL: 结构化(Schema)数据处理分析框架 Spark SQL is Apache Spark's module for working with structured data. http://spark.apache.org/sql/ 1. 如何读取数据 Spark2.x使用SparkSession读取数据 SparkSession: spark -> 实例对象名称 spark.rea.

黑冰[̲̅V̲̅I̲̅P̅] 1626
上一篇: MySql入门学习 DAY42(正则表达式匹配 mysql用户管理 pymysql模块  )
下一篇: 前端网页学习 Day44(前端三剑客 html页面 常用标签 标签分类)
A_GooD_CanceR
博客等级 码龄8年 23粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值