Mysql中高级操作中的视图_事务_索引_账户权限管理

视图

  • 视图就是一个虚拟的表用来隔离数据库
  • 创建视图
    • 创建视图是不允许有相同的字段名的
    • create view 视图名称 as select语句;
  • 修改视图
    • alter view 视图名称 as select语句;
  • 删除视图
    • drop view 视图名称
  • 视图是方便查询的不可以修改
  • 视图的作用
    • 提高了重用性,就像一个函数
    • 对数据库的重构,不影响数据的时使用
    • 提高了安全,可以让不同的用户使用
    • 让数据更加清晰

事务

  • 什么是事务
    • 它是一个操作序列,这些操作要么都执行完,要么都不执行,它是不可分割的工作单位
  • 事务的四大特性(简称ACID)
    • 原子性
    • 一致性
      • 要么都成功,要么都失败
    • 隔离性
      • 一个事务在提交前,其他事物不可以见,数据库使用了行级锁
    • 持久性
  • 开启事务 start transaction; 或者begin;?

    start transaction;
    -- sql语句,必须所有的语句都执行完毕,不然就会回滚数据
    commit;
    • mysql 客户端是默认开启事务,而且是默认提交事务
    • Python中也是默认开启事务的,但是需要手动提交
    • 数据提交之后是无法数据回滚的

索引

  • 索引是一种特殊的文件(innodb数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针
  • 一种特殊的数据结构
  • 存储了数据库直接的引用(指针)
  • 加快数据库查询的速度
  • 开启运行时间检测
    • set profiling=1;
  • 查看时间
    • show profiles;
  • 创建索引
    • create index 索引名 on 表名(字段名称(长度))
  • 删除索引
    • drop index 索引名 on 表名
  • 建立太多的索引会影响更新和插入的速度

账户管理

  • 需要使用mysql数据库
  • 查看用户名账号密码
    • select host, user, authentication_string from user;
  • 创建账户并授权
    • grant select on jing_dong.* to ‘langwang‘@‘localhost‘ identified by ‘123456‘;

相关推荐