事务处理
一、事务是一组相关的操作,事务中的这些操作要么都成功,要么都失败.二、事务是必须满足4个条件(ACID): Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性)
1、事务的原子性:一组事务,要么成功;要么撤回。
2、稳定性 : 有非法数据(外键约束之类),事务撤回。
3、隔离性:事务独立运行。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。
4、可靠性:软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重构修改。可靠性和高速度不可兼得, innodb_flush_log_at_trx_commit选项 决定什么时候把事务保存到日志里。
三、在Mysql控制台使用事务来操作
1,开始一个事务
START TRANSACTION|BEGING
2, 设置保存点:
SAVEPOINT 保存点名称
回滚到保存点:
ROLLBACK TO 保存点名称
3, 操作
sql操作
4, 可以回滚,可以提交,没有问题,就提交,有问题就回滚。
COMMIT & ROLLBACK
四、代码操作事务
connection.setAutoCommit(false);
connection.commit();
connection.rollback();
一、视图概念
视图是从一个或多个表中导出来的表,是一种虚拟存在的表。视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据。
二、视图操作
1. 创建视图的语法
CREATE [ALGORITHM]={UNDEFINED|MERGE|TEMPTABLE}]
VIEW 视图名 [(属性清单)]
AS SELECT 语句
[WITH [CASCADED|LOCAL] CHECK OPTION];
ALGORITHM表示视图选择的算法(可选参数)
UNDEFINED:MySQL将自动选择所要使用的算法
MERGE:将视图的语句与视图定义合并起来,使得视图定义的某一部分取代语句的对应部分
TEMPTABLE:将视图的结果存入临时表,然后使用临时表执行语句
视图名表示要创建的视图的名称
属性清单表示视图中的列名,默认与SELECT查询结果中的列名相同(可选参数)
WITH CHECK OPTION表示更新视图时要保证在该试图的权限范围之内(可选参数)
CASCADED:更新视图时要满足所有相关视图和表的条件
LOCAL:更新视图时,要满足该视图本身定义的条件即可
2.DROP VIEW viewname 删除视图3.SHOW CREATE VIEW viewname;
三,索引
CREATE INDEX index_name ON employee(e_name); //创建索引
mysql> SHOW INDEX FROM employee\G; //查看索引
mysql> DROP INDEX index_name ON employee; //删除索引