• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Mysql数据库高级用法之视图、事务、索引、自连接、用户管理实例分析

    本文实例讲述了Mysql数据库高级用法之视图、事务、索引、自连接、用户管理。分享给大家供大家参考,具体如下:

    视图

    视图是对若干张基本表的引用,一张虚表,只查询语句执行结果的字段类型和约束,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变),方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性。

    1.————创建视图:

    create view 视图名称(一般以v_开头) as 查询语句;
    
    

    2.————查看视图:

    select * from 视图名称;
    
    

    3.————删除视图:

    drop view 视图名称;

    事务

    1.特性:四大特性ACID

    (1)原子性(Atomicity):一个事务必须被视为一个不可分割的最小工作单元,整个事务 中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作。

    (2)一致性(Consistency):数据库总是从一个一致性的状态转换到另一个一致性的状态。

    (3)隔离性(Isolation):一个事务所做的修改在最终提交以前,对其他事务是不可见的。

    (4)持久性(Durability):一旦事务提交,则其所做的修改会永久保存到数据库。

    2.使用:

    (1)开启事务:开启事务后执行修改命令,变更会为护到本地缓存,而不是物理表中。
    begin;或者start transaction;

    (2)回滚事务:放弃缓存中变更的数据,表示事务执行失败,回到开始事务的状态。
    rollback;

    (3)提交事务:将缓存中的数据变更维护到物理表中。
    commit;

    索引

    索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的位置信息,更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。

    1.使用:

    (1)————查看索引:

    show index from 表名;
    

    (2)————创建索引:

    create index 索引名称 on 表名(字段名称(长度));
    

    (3)————删除索引:

    drop index 索引名称 on 表名;
    

    2.验证性能:

    (1)开启运行时间检测:

    set profiling=1;
    

    (2)查找第十万条数据:

    select * from test_index where title='ha-99999';
    

    (3)为表建立索引:

    create index title_index on test_index(title(10));

    (4)查找第十万条数据:

    select * from test_index where title='ha-99999';

    (5)查看执行时间:

    show profiles; 

    总结:索引可以极大提升查询速度,但是创建索引的时间比查询的速度要慢很多,所以 数据表经常更新时,不适合使用索引,当数据表数据很大时,并且长时间不更新时,建 议使用索引,其他情况不建议使用。

    用户管理

    1.————查看用户: 

    select host,user,authentication_string from user;

     ————查看用户权限:

    show grants for 用户名@主机;
    

    2.————创建用户并赋予权限:'

    grant 权限名称 on 数据库名.* to ‘用户名'@'主机' identified by ‘密码';

    3.————修改权限: 

    grant 权限名称 on 数据库名.* to ‘用户名'@'主机' where grant option;

     刷新权限:

    flush privileges;

    4.————修改密码:

    update user set authentication_string=password(‘新密码') where user='用户名';

    5.————删除用户:
    卸载:

    drop drop user ‘用户名'@'主机';

     手动删除:

    delete from user where user='用户名';

     刷新权限:

    flush privileges;
    

    自连接

    将多张相似表的数据汇总到一个表中,将自己与自己相连接进行查询。

    1.————用法:

    select * from 表名 as 别名1 inner join 表名 as 别名2 on 条件;

    2.————案例:


    aid为编号,pid为所属编号
    查询山西省的所有城市:

    select city.* from areas as cityinner join areas as province 
    on city.pid=province.aidwhere province.atitle='山西省'; 
    
    

    更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》

    希望本文所述对大家MySQL数据库计有所帮助。

    您可能感兴趣的文章:
    • MySql 索引、锁、事务知识点小结
    • MySql 知识点之事务、索引、锁原理与用法解析
    • MySQL数据库的事务和索引详解
    上一篇:Mysql数据库之常用sql语句进阶与总结
    下一篇:Mysql数据库中数据表的优化、外键与三范式用法实例分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Mysql数据库高级用法之视图、事务、索引、自连接、用户管理实例分析 Mysql,数据库,高级,用法,