事务
一、事务是一种机制、一个操作序列,包含了一组数据库操作命令、并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,这一组命令要么都执行,要么都不执行。
二、四大特性
1.原子性:事务是一个完整的操作,事务的各元素是不可分割的,事务中的所有元素必须作为一个整体提交或回滚,如果事务中的任何元素失败,则整个事务将失败。
2.一致性:当事务完成时,数据必须处于一致状态。在事务开始之前,数据库中存储的数据处于一致状态,在正在进行的事务中,数据可能处于不一致状态,如数据可能有部分被修改,当事务完成时,数据必须再次回到一致状态,通过事务对数据所做的修改不能损坏数据。
3.隔离性:对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不以任何方式依赖于或影响其他事务。
4.持久性:一个事务成功完成后,它对于数据库的改变是永久性的,一旦事务被提交,事务的效果会被永久的保留在数据库中。
三、执行事务的语法
#开始事务
BEGIN;
#或者
START TRANSACTION;
#提交事务
COMMIT;
#回滚(撤销)事务
ROLLBACK;
#设置自动提交关闭或开启
#值为0关闭自动提交,值为1开启自动提交
SET autocommit=0/1;
视图
一、视图是另一种查看数据库中一个或多个表中数据的方法,视图是一种虚拟表。
二、创建和使用视图
#创建视图
CREATE VIEW 视图名 AS (SELECT 语句);
#删除视图
DROP VIEW 视图名;
#查看视图
SELECT * FROM 视图名;
三、使用视图的注意事项
1.对视图数据进行添加,更新和删除操作直接影响表中的数据
2.当视图数据来自多张表时,不允许添加和删除数据。
索引
一、数据库中的索引与书籍中的目录相似,在一本书中,利用目录可以快速查找需要的信息,无序阅读整本书。
二、作用
1.提高数据库的检索速度
2.改善数据库性能
三、索引分类
1.普通索引:允许在定义索引的列中插入重复值和空值
2.唯一索引:唯一索引不允许两行具有相同的索引值,允许有一个空值
3.主键索引:要求主键中的每个值时非空、唯一的。
4.复合索引:可以将多个列组合作为索引
5.全文索引:在定义索引的列上支持值的全文查找,允许重复值和空值。
6.空间索引:空间索引是对空间数据类型的列建立的索引,非空。
四、创建索引
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 ON 创建索引的表名(需要创建索引的列);
五、删除索引
DROP INDEX 索引名 ON 创建索引的表名;
六、查看索引
SHOW INDEX FROM 表名;