一 事务
概念:指作为单个逻辑单元执行的一系列操作,(多个操作作为一个整体向系统提交)要么完全地执行,要么完全地不执行。
事务特性 ACID
原子性 Atomicity
事务是一个完整的操作,事物的各部操作是不可分的,要么都执行,要么都不执行。
一致性 Consistency
当事务完成时,数据必须处于一致状态
隔离性 Isolation
同时发生的事务,之间处于隔离状态,不相互影响
持久性 Durability
事务完成后,它对数据库的修改被永久保留
创建事务
开始事务 begin transaction
提交事务 commit transaction
回滚事务 rollback transaction
自动关闭/开启事务
事务并发带来的问题
脏读
不可重复度
幻读
更新丢失
事务隔离级别
未提交 READ UNCIMMITTED
已提交 READ COMMITTED
可重复读 REPEATABLE READ
可序列话 SERIALIZABLE
二 视图
视图是一张虚拟的表
视图的用途
筛选表中的行
防止未经许可的用户访问敏感数据
降低数据库的复杂程度
将多个物理数据库抽象为一个逻辑数据库
基本语句
创建视图: create view view_name as 语句
删除视图: drop view if exists view_name
查看视图: select ```from view_name
注意事项
视图中可以使用多个表
一个视图可以嵌套另一个视图
对视图数据进行添加、更新和删除操作直接影响所引用表中的数据
当视图数据来自多个表时,不允许添加和删除数据
三 索引
概念:索引是一种有效组合数据的方式,为快速查找到指定记录
好处/作用
大大提高数据库的检索速度
改善数据库性能
分类
B-树索引:InnoDB、MyISAM均支持
哈希索引
基本语句
创建索引:create index index_name on 表名
删除索引: drop index index_name on 表名
查看索引:show index from 表名
创建索引的指导原则
频繁搜索的列
经常用作查询选择的列
经常排序、分组的列
经常用作连接的列
注意事项
查询时减少使用*返回全部列,不要返回不需要的列
索引应该尽量小,在字节数小的列上建立索引
WHERE子句中有多个条件表达式时,包含索引列的表达式应置于其他条件表达式之前
避免在ORDER BY子句中使用表达式
四 恢复数据库
方法
方法一:使用mysql命令恢复数据库
方法二:使用source命令恢复数据库
通过复制文件实现数据备份和恢复
优点:操作简单
缺点
复制数据前停止服务
不适合InnoDB数据库
MySQL版本不同不兼容
导出/导入数据
可实现数据库服务器间移动数据
五 数据库备份
数据库备份的原因
数据库故障
突然断电
病毒入侵
误操作导致数据丢失
MySQL常用备份工具:mysqldump
备份多个数据库
例:mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql
备份所有数据库
例:mysqldump -u username -p -all-databases > BackupName.sql
六 思维树
学习事务、视图、索引、备份和恢复
最新推荐文章于 2022-01-07 15:58:41 发布