1.掌握MySQL的事务处理方
1.1事务的概述
事务:一系列操作要么都执行成功!要么都失败!
1.2事务的使用
(1)自行开启事务BEGIN START TRANSACTION(tx)
BEGIN;
事务执行过程…银行转账
如果没有出现异常 则应该提交事务
COMMIT;
如果出现异常 事务应该进行回滚
ROLLBACK;
2)通过关闭自动提交来使用事务 SET autocommit = 0(关闭)|1(开启);
SET autocommit = 0;
SET autocommit = 1;
2.MySQL的ACID原则(事务特点)
四大特性:原子性、一致性、隔离性、持久性
原子性:(在化学上讲究原子为最小单位 不可再分) 事务是不可分割!要么都成功要么都失败!
一致性:事务执行前和事务执行后数据总量不变! 例如转账
**持久性:**事务在执行完毕之后必须能够将数据持久保存到数据库中!
隔离性:多个事务之间应该彼此独立,不受影响。
3.视图
视图:它是一种[虚拟表] 可以用来降低查询复杂度!也可以适用于不同群体对数据的不同要求!
视图的使用【视图是一张虚拟表,你对他的改动会最终影响到真实数据物理表!】
视图注意事项:
1.视图仅仅作为查询使用即可!不要进行修改等操作!
2.视图也可以进行嵌套使用
3.视图的数据是来自于对应的物理表!
4.掌握数据库索引的创建
索引:提升查询性能! 将一个列或者一组列进行相关组合排序使用。
索引的分类:普通索引、唯一索引、主键索引、复合索引、全文索引、空间索引
普通索引
:提升查询性能
唯一索引
:除了提升查询性能 还可以保证列/字段值唯一
主键索引
:除了提升查询性能 还可以保证主键的特点 非空且唯一
复合索引
:可以将多个字段列组合提升查询性能
全文索引
:它只能在MyISAM存储引擎中使用 提升大数据量情况下对文本查找的性能
5.MySQL数据库的备份和恢复
备份数据库:mysqldump [参数选项] -u用户名 -p -h主机地址 要备份的数据库名 [要备份的数据表列表] > 输出的地址
参数选项
:
-add-drop-table
表示在创建表语句前都添加drop table语句 可以通过-skip-add…取消
--add-locks
表示在插入数据前后加上锁表和解锁语句 可以防止插入出错!
-t (-table 减去table)
导出数据时不添加数据结构创建的语句 CREATE TABLE
-c (complete完整的)
可以帮助我们在导出数据时 添加语句可以加上字段列表
-d (-data 减去data)
导出时 只要表结构 不要数据
#恢复数据库
:mysql -u用户名 -p -h主机地址 要恢复到的数据库名 < 数据脚本地址
#在登录mysql服务器之后可以使用source命令来恢复数据库 source 数据脚本文件地址;(切换到指定数据库)