S2_第五章事物

1.开始事务

BEGIN;
2.提交事务
COMMIT
3.撤销事务
ROLLBACK


事务是作为单个逻辑工作单元执行的一系列操作,一个逻辑工作单位必须有四个属性,即原子性,一致性,隔离性,持久性。这些性通常简称ACID


设置自动提交关闭或开启
SET autocommit=0|1;   值为0:关闭自动提交 值为1:开启自动提交


使用sql语句创建视图
create VIEW 视图名 AS <SELECT 查询语句>


删除视图
DROP VIEW [IF EXISTS]视图名;
索引分类:普通索引,唯一索引,主键索引,复合索引,全文索引,空间索引


内查询可以写外查询的字段


SELECT * from student where exists(
select * from result where studentNo=student.studentNo


在Sql语句当中有多条修改语句,(这个修改语句指的是增加,删除,修改,都叫修改),这几条一句要么都成功要么都执行,要么都不执行   这个过程叫做事务


); 


事务当中的多条sql语句commit之后才会提交修改数据库  除了提交本次的 以前没有提交的也会被再次提交


mysql里面有一个关键字qutocommit的默认值是1;表示自动提交 如果把默认值改变成0 表示关闭自动提交   开启手动提交




查询语句可以存在在事务当中   但是毫无意义


视图名不应该与已有的表名相同   视图中的数据来源于真实的表 在视图中可以直接增删改

CREATE VIEW 《view_student》视图名
 
AS
<SELECT studentName,gradeld,studentResult FROM student s
INNER JOIN result r ON s.studentNO=r.studentNo>//sql语句

 

 

 

当视图来源多个表 不可以增加或删除  但可以修改

一般情况建立视图是查询

事物:

原子性  一致性  隔离性  持久性 

多个sql一起执行要么都失败要么都成功就叫事物 


索引


建立索引

CREATE INDEX 索引名
ON 表名(字段名)

分离:


添加事物:

BEGIN;
INSERT INTO `result`(`studentNo`,`subjectNo`,`examDate`,`studentResult`) VALUES(10101,1,NOW(),70);
INSERT INTO `result`(`studentNo`,`subjectNo`,`examDate`,`studentResult`) VALUES(10111,1,NOW(),80);
INSERT INTO `result`(`studentNo`,`subjectNo`,`examDate`,`studentResult`) VALUES(10121,1,NOW(),90);
COMMIT;

事物回滚:
BEGIN;
INSERT INTO `result`(`studentNo`,`subjectNo`,`examDate`,`studentResult`) VALUES(20000,1,NOW(),110);
INSERT INTO `result`(`studentNo`,`subjectNo`,`examDate`,`studentResult`) VALUES(20000,1,NOW(),111);
ROLLBACK;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值