EXISTS:存在
例1:
SELECT * FROM studentWHERE EXISTS(SELECT * FROM result WHERE studentNo=student.studentNO);
注释:此代码实现了查询考了试的学生
例2:除了可以像例1那样写,也可以用IN子查询
SELECT * FROM student
WHERE studentNO IN(SELECT studentNO FROM result);
例3:还可以使用连接查询(内连接)
SELECT * FROM student INNER JOIN result
ON student.studentNo=result.studentNo;
4 . 词语
UPDATE:更新
SET:集合
DECIMAL:小数
5 . 事务
事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作
多个操作作为一个整体向系统提交,要么都执行,要不都不执行.
事务是一个不可分割的逻辑单元.
注意:比如转账过程就是一个整体,要用俩条UPDATE语句来完成,然而这俩条语句是一个整体,如果其中的一条出现错误,则整个转账业务也相应的取消,俩个账户的金额也回到原来状态.对于代码我就不在这些了.大家可以试一试.
6 . 事务的四个属性,简称为ACID属性
原子性(atomicity):事务是一个完整的操作,事务的各步操作是不可分的,要么执行,要么步执行.
一致性(consistency);当事务完成时,数据必须处于一致状态,一条一条的执行UPDATE
隔离性(ISOIATION):同时发生的事务之间相互独立,隔离,不相互依赖.
持久性(DURABILITY): 事务完成后,他对数据库的修改被永远保存.
注意:在MYSQL中支持事务的存储引擎是INNOB和BDB
7. 事务中的语法
BEGIN : 开始事务==START TRANSACTION---->标识了开始的位置
COMMIT : 提交事务-->像你的数据库提交你要保存的数据
ROLLBACK : 对你原来的不进行修改,撤销
注意:开始事务指定事务从此开始,后续的SQL语句都是一个整体
8 . 自动关闭事务
默认情况下,每条单独的SQL语句视为一个事务
关闭默认提交状态后,可手动开启,关闭事务
语法
SET autocommit=0|1
0: 关闭自动提交
1:打开自动提交
注意:关闭自动提交后,从下一条语SQL语句开始,则开启新的事务,但是需要使用COMMIT或者ROLLBCK