加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

重蔚自留地MySQL——mysql事务触发器函数过程

发布时间:2020-12-12 03:05:12 所属栏目:MySql教程 来源:网络整理
导读:《重蔚自留地MySQL——mysql事务触发器函数过程》要点: 本文介绍了重蔚自留地MySQL——mysql事务触发器函数过程,希望对您有用。如果有疑问,可以联系我们。 数据备份 对数据表内容进行备份 备份:select [*/字段列表] into outfile 文件路径 [字段处理] [

《重蔚自留地MySQL——mysql事务触发器函数过程》要点:
本文介绍了重蔚自留地MySQL——mysql事务触发器函数过程,希望对您有用。如果有疑问,可以联系我们。

数据备份

对数据表内容进行备份

备份:select [*/字段列表] into outfile 文件路径 [字段处理] [行处理] from 表

还原:load data infile 文件路径 into 表 [字段处理] [行处理]

备份 ---------------》 数据库 -> 外部文件:①sql语法是正确的;②SQL语句是有效的

把表内数据给清理

还原 ---------------》 外部文件 –> 数据库

对表结构进行备份(也包含数据)

备份:mysqldump.exe –h –P –u –p 数据库 [数据表 数据表…] > 文件路径 (通常以.sql)

还原:mysql.exe –h –P –u –p 数据库 < 文件路径

mysql进入之后:source 文件路径

事务处理

自动处理:autocommit = on(默认),改成off手动处理

手动处理:只在需要使用事务的地方开启

开启事务:start/begin transaction;

---SQL操作

设置回滚点:savepoint 回滚点名字

---SQL操作

回滚到回滚点:rollback to 回滚点名字

--

回滚或者提交:rollback/commit

事务处理四大特点:

原子性:一个事务是一个整体,要么全部成功,要么全部失败

一致性:在事务处理的过程前后,数据是一致的.在做事务处理的时候,数据库中的数据不会被改变,所以是一致的.

隔离性:一个事务的操作,不会影响另外事务的操作(两个事务不能针对同一行记录)

永久性:一旦事务提交,那么对数据的修改是永久性的,不可逆

触发器

语法:create trigger 触发器名字 触发时间 触发类型 on 表名 for each row

begin

//触发体,每一行都需要语句结束符,只能是分号

end

触发器是自动被调用

触发器时间:before和after

触发类型:insert,update,delete

变量:系统变量和自定义变量

系统变量拜访:select @@变量名

重蔚自留地MySQL——mysql事务触发器函数过程

修改系统变量:set 变量名 = 值;set global 变量名 = 值;

自定义变量:set @变量名 = 值;set @变量名 := 值;select 字段列表 from 表名 into @变量列表;declare 变量名 数据类型;

@变量名:全局变量,所有地方都可以使用

变量名:局部变量,只能在函数内

函数:系统函数和自定义函数

语法:create function 函数名(参数列表) returns 数据类型

begin

//函数体

//分支结构+循环结构

//return 数据

end

参数:参数必须有数据类型:变量名 数据类型

函数调用:select 函数名(参数列表)

存储过程

语法:create procedure 过程名(参数列表)

begin

//过程体

end

参数列表:类型 变量名 数据类型

类型:in,out,inout

过程拜访:call 过程名(参数列表)

索引:mysql几大索引

用户管理:

创建用户:create user 用户名@主机名 indentified by 暗码

赋予权限:grant 权限列表 on 库.表 to 用户名@主机名

收回权限:revoke 权限列表 on 库.表 from 用户名@主机名

删除用户:drop user 用户名@主机名

商品表:pro_goods

订单表:pro_order

在插入订单前,先判断商品库存是否足够,如果不足,则不能生成订单,如果足则可以.

before insert:判断库存是否足够,并不终止insert语句的执行

after insert:判断before insert的判断结果,如果前面判断失败,那么删除订单记录

=========》

after insert:商品表库存先减少.判断商品表库存是否大于0,如果小于0,把商品的库存回退到之前的数据,然后将当前的这条订单记录给删除.

使用before insert来对数据进行判断,如果判断失败,则想方法不让insert语句执行.

重蔚自留地MySQL——mysql事务触发器函数过程

编程之家PHP培训学院每天发布《重蔚自留地MySQL——mysql事务触发器函数过程》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读