事务、视图、索引、数据备份和恢复

本课目标

理解事务的相关概念

使用事务保证操作数据的完整性

熟练创建并使用视图

熟练创建并使用索引

掌握如何进行数据库的备份和恢复

CREATE TABLE IF NOT EXISTS mybank(
  CID CHAR(4),#卡号
	CNAME VARCHAR(30) ,#用户名
	BALANCE DECIMAL(10,2) #当前余额
)CHARSET = UTF8;
#插入数据
INSERT INTO MYBANK(CID,CNAME,BALANCE) VALUES(4001,'张三',1000);
INSERT INTO MYBANK(CID,CNAME,BALANCE) VALUES(4002,'李四',1);
SELECT * FROM MYBANK;
#模拟转账,(完美状态下)张三给李四转账500元
UPDATE MYBANK SET BALANCE= BALANCE-500 WHERE CID=4001;
UPDATE MYBANK SET BALANCE= BALANCE+500 WHERE CID=4002;
SELECT * FROM MYBANK;

一、事务

1.什么是事务

事务是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库操作命令要么都执行,要么都不执行

事务是一个不可分割的工作逻辑单元

2.事务的特性(简称 :ACID)
  • 原子性(Atomicity

事务的各步操作是不可分的(原子的),事务的所有操作要么都执行,要么都不执行

  • 一致性(Consistency

当事务完成时,数据必须处于一致状态

  • 隔离性(Isolation

并发事务之间彼此隔离、独立,它不应以任何方式依赖于或影响其他事务

  • 持久性(Durability

事务完成后,它对数据库的修改被永久保持

3.MySQL事务处理

MySQL中支持事务的存储引擎有 InnoDB 和 BDB

方法1:用 BEGIN , COMMIT,ROLLBACK 来实现

事务、视图、索引、数据备份和恢复_第1张图片

方法2:直接用 SET 来改变MySQL的自动提交模式

事务、视图、索引、数据备份和恢复_第2张图片

二、视图

1.什么是视图

视图是一张虚拟表,表示一张表的部分数据或多张表的综合数据

  • 其结构和数据是建立在对表的查询基础上
  • 视图中不存放数据,数据存放在试图所引用的原始表中

一个原始表,根据不同用户的不同需求,可以创建不同的视图

2.视图的用途
  • 筛选表中的行
  • 防止未经许可的用户访问敏感数据
  • 将多个物理数据库表抽象为一个逻辑数据库表
3.管理视图
  • 使用SQL语句创建视图

CREATE VIEW view_name 

AS