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

MySQL命令,一篇文章替你全部搞定

发布时间:2019-03-02 18:23:46 所属栏目:MySql教程 来源:Java高级技术
导读:副标题#e# MySQL的基本操作可以包括两个方面:MySQL常用语句如高频率使用的增删改查(CRUD)语句和MySQL高级功能,如存储过程,触发器,事务处理等。而这两个方面又可以细分如下: MySQL常用语句 表(或者数据库)的CRUD 表数据的CRUD,其中表数据查询使用

如何创建执行事务?

MySQL命令,一篇文章替你全部搞定

执行结果为:插入数据('1',5,18)有效,因为,只会从保留点SAFEPOINT之后开始回退,也就是说保留点SAFEPOINT之前的SQL语句执行的结果仍然有效。

有这样一些细节:

STAET TRANSACTION用来表示下面的SQL语句集为一段事务;

SAFEPOINT用于指定保留点insertinto;

ROLLBACK TO表示从指定保留点开始回退,也就是说保留点之前的SQL语句执行结果依然有效。如果仅仅使用ROLLBACK进行回退的话就表示从STAET TRANSACTION之后所有的SQL语句执行效果都会撤销;

MySQL提交(写或保存)操作是自动进行的,这称之为隐含提交。但是在事务处理块中,提交不会隐含进行,要使用COMMIT子句进行提交。如:

MySQL命令,一篇文章替你全部搞定

采用COMMIT提交事务,如果两条SQL语句都执行成功,才会将数据都写入表中。

7. 触发器

什么是触发器?

当某条SQL语句发生时,自动执行某些其他的SQL语句的时候就需要使用到触发器。触发器只能响应:DELETE,INSERT,UPDATE这三个特定操作。

创建触发器?

创建触发器时需要给出最重要的四条信息:1.全局唯一的触发器名;2.触发器关联的表;3.触发器在何时执行(操作执行之前或者之后)4.触发器应该响应的活动(DELETE, INSERT或者UPDATE);

由于触发器只能响应特定的三种类型的操作,因此可创建的触发器也就三种类型:INSERT触发器,DELETE触发器以及UPDATE触发器。

INSERT触发器

在执行INSERT触发器时,也这样几点需要注意:1.在INSERT触发器代码内,可以引用一个名为NEW的虚拟表,可以用NEW来访问刚插入的行数据;2.在BEFORE INSERT触发器中,NEW中的值可以被更新;3.对于AUTO_INCREMENT列,NEW在INSERT执行之前包含0,在INSERT执行之后包含新的自定生成值。

创建一个INSERT触发器,每次插入一行数据,每次会返回当前插入的行数据的id。

MySQL命令,一篇文章替你全部搞定

有这样一些细节:

使用CREATE TRIGGER来创建触发器;

AFTER INSERT表明在插入行数据之后,触发器才会执行特征操作;

FOR EACH ROW 表示对插入的每一行数据,触发器都起作用;

针对INSERT触发器,可以使用虚拟表NEW,来使用刚插入的行数据。比如例子中,SELECT NEW.cust_id INTO @newinsertid表示将新插入的行数据的id赋值给变量@newinsertid;

DELETE触发器

DELETE触发器在DELETE语句执行之前或者之后,需要知道以下两点:

在DELETE触发器代码内,可以引用一个名为OLD的虚拟表,来访问被删除的行;

OLD表中的数据只能读,不能被更新,而在INSERT触发器中,就可以通过NEW来更新被插入的行数据;

(编辑:武汉站长网)

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

热点阅读