事务,视图,索引,备份和恢复

1. 事务的概念

事务(Transaction)是一个操作序列,该序列中的多个操作要么都做,要么都不做,MySQL5.5之后的存储引擎所支持。
事务执行成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分。如果事务执行时遇到错误且必须取消或回滚,则数据将全部恢复到操作前的状态,所有数据的更改均被清除。

2. 事务的特点

1、原子性:事务是一个完整的操作。事务的各元素是不可分的(原子的)。事务中的所有元素必须作为一个整体提交或回滚。如果事务中的任何元素失败,则整个事务将失败。

2、一致性:当事务完成时,数据必须处于一致状态。

3、隔离性:对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应该以任何方式依赖于或影响其他事务。

4、持久性:事务的持久性指不管系统是否发生了故障,事务处理的结果都是永久的。

开启事务

1.开启事务
语法:start | begin transaction开启一个新的事务
2.提交事务
语法:commit;
3.回滚事务
语法:rollback;
注意:开启的事务,未提交时候可以回滚。

设置自动提交

SET autocommit = 0|1|ON|OFF;
值为 0 和值为 OFF:关闭事务自动提交。如果关闭自动提交,用户将会一直处于某个事务中,只有提交或回滚后才会结束当前事务,重新开始一个新事务。
值为 1 和值为 ON:开启事务自动提交。如果开启自动提交,则每执行一条 SQL 语句,事务都会提交一次。

视图简介

视图可以简单理解成虚拟表,它和数据库中真实存在数据表不同,视图中的数据是基于真实表查询得到的。视图和真实表一样具备相似的结构。真实表的更新,查询,删除等操作,视图也支持。

视图通常用来进行以下三种操作
1.筛选表中的行
2.防止未经许可的用户访问敏感数据
3.将多个物理数据表抽象为一个逻辑数据表

SQL视图语法

创建视图
CREATE VIEW 视图名
AS
<SELECT语句>;
删除视图
DROP VIEW [IF EXISTS] 视图名;
看视图数据
SELECT 字段1,字段2,… FROM view _name;

索引

索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据。

索引分类
1.普通索引:允许在定义索引的列中插入重复值和空值,它的唯一任务就是加快对数据的访问速度du
2.唯一索引:唯一索引不允许两行具有相同的索引值
3.主键索引:要求主键中的每个值是非空,唯一的
4.复合索引:在创建索引时,并不是只能对其中一列创建索引,与创建主键一样,可以将多个列组合作为索引,这种索引称为复合索引
5.全文索引:在定义索引的列值的上支持值的全文查找,允许在这些索引列中插入重复值和空值。
6.空间索引:对空间数据类型的列建立的索引,空间索引只能在存储引擎为MyISAM的表中创建。

SQL索引语法

创建索引
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
ON table_name(colum_name[length]…);
删除索引
DROP INDEX index_name ON table_name;
查看索引
SHOW INDEX FROM table_name;

数据库的备份和恢复

数据库备份的基本要求是尽量减少对用户访问的影响。

mysqldump命令

备份数据库
mysqldump -u username -h host -ppassword
dbname[tbname1[,tbname2…]]>filename.sql

恢复数据库
mysql -u username -p [dbname] <filename.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值