1.事务
概念:(1)事物时作为单个逻辑工作单元执行的一系列操作。
(2)多个操作作为一个总体向系统提交,要么都执行,要么都不执行。
(3)事务是一个不可分割的工作逻辑单元。
事务的四个属性,其简称ACID属性
(1)原子性:事务是一个完整的操作,事务的各步操作是不可分的,要么都执行,要么都不执行。
(2)一致性:当事务完成时,数据必须处于一致状态。
(3)隔离性:并发事物之间彼此隔离,独立,它不应以任何方式依赖于或影响其他事务
(4)持久性:事务完成后,它对数据库的修改被永久保持。
语法:开始事务
BEGIN
或
START TRANSACTION;
提交事务
COMMIT;
回滚(撤销)事务
ROLLBACK;
存储引擎: InnoDB 和 BDB
自动关闭和开启事务:
开启/关闭自动提交状态
SET autocommit = 1/0;
值为0: 关闭自动提交
值为1: 开启自动提交
注:
关闭自动提交后,从下一条SQL语句开始则开启新事务,需使用COMMIT或ROLLBACK语句结束该事务
2.视图
(4)视图中不存放数据
数据存放在视图所引用的原始表中
(5)一个原始表,根据不同用户的不同需要,可以创建不同的视图
(1)创建视图 create view 视图名称 as <select 语句>;
(2)删除视图 drop view [if exists] 视图姓名;
(3)查看视图 select 字段1,字段2,......FROM 视图名
(3)对视图数据进行添加,更新和删除操作直接影响所引用表中的数据
(4)当视图数据来自多个表时,不允许添加和删除数据
3.索引
定义:索引是一种有效组合数据的方式,为快速查找到指定记录
作用:
(1)大大提高数据库的检索速度
(2)改善数据库性能
MySQL索引按存储类型分类
(1)B-树索引:InnoDB,MyISAM均支持
(2)哈希索引
常用的索引
(1)普通索引
(2)唯一索引
(3)主键索引
(4)复合索引
(5)全文索引
(6)空间索引
创建索引
create [索引类型] index 索引名 on 表名 (列名);
删除索引
drop index 索引名 on 表名;
索引的优缺点
优点:
加快访问速度,加快行的唯一性
缺点:
带索引的表在数据库中需要更多的存储空间
操作数据的命令需要更长的处理时间,因为它们需要对索引进行更新
查看索引
show index from 表名
4.备份数据流库
mysqldump命令——MySql中一个常用的备份工具
(1)其是将create和insert into语句保存到文本文件
(2)属于DOS命令
语法:
mysqldump -u 用户名 -h 登录主机名 -p 密码 数据库名 表1,表二.... > 备份后的文件路径/文件名称.sql
注: mysqldump是DOS系统下的命令,使用是无须进入mysql命令行,不然无法执行
mysql -u 用户名 -p 密码 数据库名 < 路径//备份文件名.sql //mysql也为DOS命令,若不存在数据库则会报错