事务、试图、索引、备份和恢复
一、事务
1.事务
事务是指将一系列数据操作捆绑成为一个整体进行统一管理。如果某一事务执行成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分。如果事务执行时遇到错误且必须取消或回滚,则数据将全部恢复到操作前的状态,所有数据的更改均被清除。
2.什么是事务
十五是一种机制、一种操作序列,包含了一组数据库操作命令。并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行。
事务是作为单个逻辑工作的单元的一系列操作。
(1).原子性
(2).一致性
(3).隔离性
(4).持久性
3.如何执行事务
语法:
(1)开始事务
BEGIN;
或
START TRANSACTION;
(2)提交事务
COMMIT;
(3)回滚(撤销)事务
ROLLBACK;
设置自动提交关闭或开启
SET autocommit = 0|1;
值为0:关闭自动提交
值为1:开启自动提交
二、视图
1.视图
视图是保存在数据库中的SELECT查询。因此,对查询执行的大多数操作也可以在视图上进行。使用视图的原因有两个:一个是出于安全考虑,用户不必看到整个数据库的结构,而隐藏部分数据;另一个是符合用户日常业务逻辑,使他们更容易理解数据。
2.什么是试图
视图是另一种查看数据库中一个或多个表中数据的方法。视图是一种虚拟表,通常是作为来自一个或多个表的行或列的子集创建的。
视图通常用来进行以下三种操作:
-
筛选表中的行。
-
防止未经许可的用户访问敏感数据表。
-
将多个物理数据表抽象为一个逻辑数据表。
3.如何创建和使用视图
1.创建视图
CREATE VIEW 视图名
AS
<SELECT 语句>
在SQL语句命名规范中,视图一般以view_xxx或v_xxx的样式来命名。
2.删除视图
DROP BIEW [IF EXISTS] 视图名
3.查看视图数据
SELECT 字段1,字段2,.....FROM view_name;
4.使用视图的注意事项
-
与查询相似,一个视图可以嵌套另一个视图,但是最好不要超过三层。
-
对视图数据进行添加、更新和删除操作直接引用表中的数据。
-
当视图数据来自多个表时,不允许添加和删除数据。
三、索引
1.索引
作用是通过使用索引,大大提高数据库的检索速度,改善数据库性能。
根据索引的存储类型,可以将索引分为B-树索引(BTREE)和哈希索引(HASH)。InnDB和MyISAM存储引擎支持B-树索引。
2.分类
常用的索引有以下六类:
1.普通索引
2.唯一索引
3.主键索引
4.符合索引
5.全文索引
6.空间索引
7.创建索引
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
ON table_name (column_name[length].....);
8.删除索引
DROP INDEX index_name ON table_name;
9.查看索引
SHOW INDEX FROM table_name;
四、数据库备份和恢复
mysqldump是MySQL一个常用的备份命令,执行此命令会将包含数据的表结构和数据内容转换成相应的CREATE语句和INSERT INTO语句,保存在文本文件中,将来如果需要还原数据,只需执行该文本文件中的SQL语句即可。
1.命令格式
mysqldump -u username -h host -ppassword
dbname[tbname1[,tbname2.....]]>filename.sql
2.使用mysql命令恢复数据库
mysql -u username -p [dbname] < filename.sql
3.表数据导出到文本文件
SELECT columnlist FROM tablename
[WHERE contion]
INTO OUTFILE 'filename' [OPTION];
4.文本文件导入到数据表
LOAD DATA INFILE filename INTO TABLE tablename [OPTION];