1.事务操作原理:事务开启之后Start transaction,所有的操作都会临时保存到事务日志。只有在得到commit才会关闭,否则清空;
2.设置回滚点: savepoint 回滚点名字;  回到回滚点: rollback to 回滚点名字;
3.事务特性:ACID  A:原子性,要么成功,要么失败 C:一致性,只有commit时才会改变 I:隔离性,两个窗口操作互不影响 D:永久性,数据提交,不可改变;
3_2.锁机制: innodb默认是行锁, 但是如果在事务操作的过程中, 没有使用到索引,那么系统会自动全表检索数据, 自动升级为表锁
4.非id字段没有索引,搜索时会全表检索;形成表索;
4_2.会话级别: 临时修改, 当前客户端当次连接有效  Set 变量名 = 值;/Set @@变量名 = 值;全局级别: 一次修改,永久生效(对所有客户端都生效)  Set global 变量名 = 值;
5.修改系统变量:set 变量 = 值;
6.设置自定义变量:set @变量名; 查看:select @变量名;
7.在mysql中 = 会被当做比较处理 所以赋值一般用:=
8.变量不区分数据库,跟着用户走;
9.触发器:事件类型(insert delete update),触发时间(before after),触发对象
10.触发器基本语法
-- 临时修改语句结束符
Delimiter 自定义符号: 后续代码中只有碰到自定义符号才算结束

Create trigger 触发器名字 触发时间 事件类型 on 表名 for each row
Begin -- 代表左大括号: 开始
-- 里面就是触发器的内容: 每行内容都必须使用语句结束符: 分号
End -- 代表右带括号: 结束
-- 语句结束符
自定义符号

-- 将临时修改修正过来
Delimiter  ;
10_2.Old代表的是旧记录,new代表的是新记录
11.事件类型和触发事件不能一致 不然会死循环;
12.创建触发器:create trigger 触发器名字 触发时间 
13.在mysql中只有if分支;if 条件 then 执行代码(如果不执行用end if结束)
14.自定义函数 create function 函数名 returns 。。。
15.像函数 触发器 表单 这种结构 即使退出,重新登录是还在;
16.创建函数只在当前数据库使用,不能跨库;
17.mysql的作用域与js的作用域一样;全局变量可以在任何地方使用,局部变量只能在函数内部使用;
18.mysql在调用函数的时候才会发现错误;
19.存储过程是一种没有返回值的函数;
20.过程没有返回值: select是不能访问的.要用call
21.set之后可以不用:=
22.procedure局部变量和全局变量无关;在调用结束之后,out和inout类型 系统会将局部变量的值重新返回给全局变量
23.关于procedure的in out inout 
1.in的话就是可以给pro()赋值 或者外面定义变量@ 也可以 eg:pro(1);或者set @a=1 ;pro(@a);
2.out只能用外面定义变量@赋值给pro() 并且会 将变量@变成null 
3.inout只能在外面定义变量@赋值给pro()但是变量@不变;
24.全局变量和局部变量互不影响;

(mysql)触发器、事件、事务、函数的更多相关文章

  1. MySQL视图、触发器、事务、存储过程、内置函数、流程控制、索引

    一.视图 1.什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次直接使用即可 2.为什么要用视图 如果频繁使用一张虚拟表,可以不用重复查询 3.如何使用视图 create view tea ...

  2. 【MySQL】MySQL(三)存储过程和函数、触发器、事务

    MySQL存储过程和函数 存储过程和函数的概念 存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合 存储过程和函数的好处 存储过程和函数可以重复使用,减轻开发人员的工作量.类似于 ...

  3. MySQL之视图、触发器、事务、存储过程、函数 流程控制

    MySQL之视图.触发器.事务.存储过程.函数 阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 MySQL这个软件想将数据处理的所有事情,能够在mysql这个层面上全部 ...

  4. mysql八:视图、触发器、事务、存储过程、函数

    一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...

  5. SQL学习笔记七之MySQL视图、触发器、事务、存储过程、函数

    阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名 ...

  6. MySQL之试图、触发器、事务、存储过程、函数

    阅读目录 一.视图 二.触发器 三.事务 四.存储过程 五.函数 六.流程控制 一.视图 视图是一个虚拟表(非真实存在),是跑到内存中的表,真实表是硬盘上的表,怎么就得到了虚拟表,就是你查询的结果,只 ...

  7. mysql数据库从删库到跑路之mysql:视图、触发器、事务、存储过程、函数

    mysql:视图.触发器.事务.存储过程.函数 一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果 ...

  8. mysql:视图、触发器、事务、存储、函数、流程控制

    阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 回到顶部 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只 ...

  9. python开发mysql:视图、触发器、事务、存储过程、函数

    一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...

  10. mysql七:视图、触发器、事务、存储过程、函数

    阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名 ...

随机推荐

  1. beta yz 5

    031602111 傅海涛 1.今天进展 接口微调修正 2.存在问题 文档转化太久 3.明天安排 完成全部接口的交互 4.心得体会 文档转化需要好好优化 031602115 黄家雄 1.界面优化 2. ...

  2. [转帖] Windows 与linux的栈大小问题

    一般来说,我们所用的内存有栈和堆之分,其它的我们很少控制,栈的速度快,但是空间小.不灵活:而堆的空间几乎可以满足任何要求.灵活,但是相对的速度要慢了很多,并且在VC中堆是人为控制的,new了就要del ...

  3. Spring之事务操作(注解)

    事务操作步骤: <!-- 第一步.配置事务管理器 --> <bean id="transactionManager" class="org.spring ...

  4. MT【91】空间余弦定理

    评:空间余弦定理:空间四边形$ABCD$中$cos<AC,BD>=\frac{|(|AB|^2+|CD|^2)-(|BC|^2+|AD|^2)}{2|AC||BD|}$,证明用向量.

  5. 【题解】 bzoj1055: [HAOI2008]玩具取名 (动态规划)

    bzoj1055,懒得复制,戳我戳我 Solution: 区间动规(以后开始动规会在solution前面标注是啥动规 我觉的这道题挺难想了,但其实状态定义了一下子就出来了(还是不行啊) 我们定义状态\ ...

  6. 【BZOJ3733】[Pa2013]Iloczyn (搜索)

    [BZOJ3733][Pa2013]Iloczyn (搜索) 题面 BZOJ 题解 把约数筛出来之后,直接爆搜,再随便剪枝就过了. 最近一句话题解倾向比较严重 #include<iostream ...

  7. 新年的展望,2018 hello world~

    虽然离$2017$到$2018$的跨年已经过去很久了,但还是想写点东西试图拯救一下最近有些颓势的自己~ $2017$对我来说是意义重大的一年,这一年里,我有欢笑也有泪水,有收获也有挫折,有坚强也有脆弱 ...

  8. c/c++ 某些特殊数的大小

    INT_MAX:2^31-1 2147483647 RAND_MAX:2^15-1    32768

  9. shell中exec命令

    1.find中的-exec参数 在当前目录下(包含子目录),查找所有txt文件并找出含有字符串"bin"的行 find ./ -name "*.txt" -ex ...

  10. es7----proxy

    proxy是代理的意思,es7新增这个可以代理某个变量的“增删改查”,vue的核心原理就是这个~~ 基本使用方法: let json = {a: 123, c: 999} let p = new Pr ...