mysql 备份 索引_MySQL 事务、视图、索引、备份和恢复

事务

为什么需要事务:

转账、总量稳定,但其他值举行转变。

事务是什么:

作为单个逻辑事情单元执行的一系列操作。

多个操作作为一个整体向系统提交,要么执行/不执行。

事务是一个不可分割的事情逻辑单元。

事务的特征:简称ACID属性(事务平安型强)

原子性(Atomicity):事务是一个完整的操作,各步操作是不可分的,要么执行/不执行。

一致性(Consistency):当事务完成时,总量稳定。

隔离性(lsolation):并发事务之间相互隔离、自力,它不应以任何方式依赖于或影响其他事务。

持久性(Durability):事务完成后,它对数据库的修改被永远保持。

确立事务

#最先事务begin;/start transaction; #提交事务commit; #回滚/打消事务rollback;

关闭和开启事务:

set autocommit=0|1#值为0:关闭事务

#值为1:开启事务

视图

视图做用

1.差别权限职员关注差别的数据。

2.保证数据的平安性。

3.降低数据库的庞大水平。

4.将多个物理数据库抽象为一个逻辑数据库。

视图是什么

1.视图是一张虚拟表,确立在原表上,使用部门数据或多表的综合数据。

2.视图中不存放数据,数据在原始表中。

3.一个原始表,凭据差别权限职员的差别需求,可以确立差别的视图。

确立视图

CTRATE VIEWview_name(规范书写在view后写视图名)AS

select语句; #使用SQL语句删除视图 DROPVIEWIF EXISTSview_name; #IFEXISTS删除前判断视图是否存在 #使用SQL语句查看视图select 字段1,字段2,...from view_name;

#查看所有视图

USE information_schema;

SELECT * FROM views\G;

视图注重

1.视图中可以使用多个表

2.一个视图可以嵌套另一个视图(千层套路)。

3.对视图举行添加、更新和删除操作时直接影响原表。

4.多表时视图不允许添加和删除数据!仅作为查询。(使用视图修改数据会有许多限制,容易失足)

索引

索引是什么

索引是一种有用组合数据的方式,为快速查找到指定纪录

作用

1.大大提高数据库的检索速率

2.优化了数据库的检索速率

MySQL索引按存储类型分类

1.B-数索引:InnoDB、MyiSAM均支持

2.哈希索引

B-数索引:

使用可以显著削减定位纪录时所履历的中心历程,从而加速存取速率。这个数据结构一样平常用于数据库的索引,综合效率较高。

阶的界说

ef9dddb0c4356f75139812bcd256e5ee.png

1、根结点至少有两个子女。

2.每个非根节点所包罗的关键字个数 j 知足:┌m/2┐ – 1 <= j <= m – 1。

3.除根结点以外的所有结点(不包罗叶子结点)的度数正好是关键字总数加1,故内部子树个数 k 知足:┌m/2┐ <= k <= m 。

4.所有的叶子结点都位于统一层。

在B-树中,每个结点中关键字从小到大排列,而且当该结点的孩子是非叶子结点时,该k-1个关键字正好是k个孩子包罗的关键字的值域的分划。

由于叶子结点不包罗关键字,以是可以把叶子结点看成在树里实际上并不存在外部结点,指向这些外部结点的指针为空,叶子结点的数目正好即是树中所包罗的关键字总个数加1。

B-树中的一个包罗n个关键字,n+1个指针的结点的一样平常形式为: (n,P0,K1,P1,K2,P2,…,Kn,Pn),其中,Ki为关键字,K1

索引类型

通俗索引:允许在界说索引的列中插入重复值和空值

唯一索引:索引列数据不重复,允许有空值(只有一个)

主键索引:主外键谁人意思

复合索引:将多个列组合作为索引

全文索引:支持值的全文查找,允许重复值和空值

空间索引:对空间数据类型的列确立的索引

确立/删除索引

#确立索引CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEXindex_nameON table_name (column_name[length]…); #UNIQUE|FULLTEXT|SPATIAL #划分对应唯一索引、全文索引或空间索引 #删除索引DROP INDEX index_name ON table_name;

索引注重事项

1.不要使用仅包罗几个差别值的列

2.表中仅包罗几行

3.查询时削减使用*返回所有列,不要返回不需要的列

4.WHERE子句中有多个条件表达式时,包罗索引列的表达式应置于其他条件表达式之前

5.制止在ORDER BY子句中使用表达式

备份和恢复

备份数据库

mysqldump 参数 -u -h -p 需备份的数据库名 需备份的表名 备份后的文件名称

常用参数选项

1dd9bfe5d43226e6d35419a6b7235a04.png

恢复数据库

mysql –u –p 数据库名 < 备份文件名

source 数据库名

导出/导入数据

SELECT * FROMtablename[WHERE contion]

INTO OUTFILE 'filename' [OPTION]#导出的目的文件 #文件导入到数据表LOAD DATA INFILE filename INTO TABLE tablename [OPTION]#导入数据前应确保目的表已存在!

原文链接:https://www.cnblogs.com/zhrehe-11/p/12872008.html

本站声明:网站内容来源于网络,若有侵权,请联系我们,我们将及时处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值