zoukankan      html  css  js  c++  java
  • 事务、视图、索引、备份、还原

    事务: 是作为单个逻辑公作单元执行的一系列操作 。事务是一个不可分割的公作逻辑单元
    多个操作作为一个整体向系统提交.要么都执行,要么不执行

    事务必须具备以下四个属性,简称ACID属性

    原子性 事务是一个完整的操作,事务的各步操作是不可分的原子性
    一致性
    当事务完成时,数据必须处于一致状态
    隔离性
    并发事务之间彼此隔离 独立 它不应该以任何方式依赖于或影响其他事务
    持久性
    事务完成后,它对数据库的修改被永久保持
    MYSQL中支持事务的储存引擎InnoDB和BDB

    开始事务
    BEGIN

    START TRANSACTION

    提交事务 : COMMIT

    回滚(撤销)事务:ROLLBACK

    默认情况下,每一条单独的SQL语句视为一个事务
    关闭默认提交状态后,可手动开启,关闭事务

    关闭/开启自动提交状态
    SET autocommit=0|1;
    值为0:关闭自动提交
    值为1:开启自动提交
    关闭自动提交后,从下一条语句开始则开启新事务,需要使用commit或者rollback语句结束该事务

    事务是作为单个逻辑单元执行的一系列操作

    四个属性
    原子性
    一致性
    隔离性
    持久性
    操作事务
    开始事务 提交事务 回滚事务

    视图的主要用途

    筛选表中的行
    防止未经许可的用户访问敏感数据
    降低操作数据库的复杂过程
    将多个物理数据库抽象作为一个逻辑数据库

    使用SQL语句创建视图
    CREATE VIEW VIEW_name
    as
    <SELECT 语句>

    使用SQL语句删除视图
    DROP VIew [IF EXISTS] view_name
                   ↓
      删除前判断视图是否存在

    使用SQL语句查看视图
    SELECT 字段一,字段二,....FROM VIEW_name

    查看所用视图
    USE INFOrMAtion_schema
    SELECT * from VIEWSG

    注意事项:

    视图中可以使用多张表
    一个视图可以嵌套另一个视图
    对视图数据进行添加,更新和删除操作将直接影响所引用表中的数据
    当视图数据来自多个表时,不允许添加和删除数据

    使用视图修改数据会有很多限制,一般在实际开发中视图仅用作查询

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

    作用

    大大提高数据库的检索速度
    改善数据的性能
    MYSQL索引按存储类型分类
    B-树索引: InnoDB MyISAM均支持
    哈希索引

    普通索引:基本索引
     允许在定义索引的列插入重复值和空值
    唯一索引:索引列数据不重复
     允许有空值
    主键索引:主键列中的每一个值是非空唯一的
      一个主键将自动创建主键索引
    复合索引:将多个列组合作为索引

    全文索引:支持值得全文查找
     允许重复值和空值
    空间索引: 对空间数据类型的列建立的索引

    创建一个索引
    CREATE     index 索引名
    删除索引
    DROP INDEX index_name on table_name
    删除表时候 该表的索引同时被删除

    按照下列标准选择建立索引的列
    频繁搜素的列
    经常用作查询的列
    经常排序分组的列
    经常用作连接列(主键/外键)
    请不要使用下面的列创建索引
    仅包含几个不同值的列
    表中仅包含几行

    查询时减少使用* 返回全部列,不要返回不需要的列
    索引应该尽量小,在字节数小的列上建立索引
    where子句有多个条件表达式,包含索引列的表达式应置于其他表达式之前
    避免在orderby子句中使用表达式
    SHOW INDEX from 表名

    查看数据库中全部索引信息

    USE MYSCHOOL
    SHOW INDEX FROM `STUDENTG`

    备份和还原

     备份
     mysqldump -uroot -hlocalhost -p myschool>d:\1.sql


     恢复
     mysql -uroot -proot myschool<d:\1.sql

  • 相关阅读:
    kafka学习-卡不卡的简单使用
    mongoDB-mongo compass使用学习-最像关系型数据库的非关系型文档型数据库
    postman使用-跑男常用功能
    jmeter数据驱动csv+批量导出数据到csv文件
    jmeter-数据库查询与调用-mysql
    arch linux mysql using
    Win10安装 oracle11g 出现INS-13001环境不满足最低要求解决方法
    oracle11g数据库安装
    安装PLSQLDeveloper
    oracle基本学习
  • 原文地址:https://www.cnblogs.com/wh1520577322/p/8465510.html
Copyright © 2011-2022 走看看