如何在Mysql数据库中使用视图、事务和索引

55次阅读
没有评论

共计 1978 个字符,预计需要花费 5 分钟才能阅读完成。

自动写代码机器人,免费开通

今天就跟大家聊聊有关如何在 Mysql 数据库中使用视图、事务和索引,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

视图是对若干张基本表的引用,一张虚表,只查询语句执行结果的字段类型和约束,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变),方便操作,特别是查询操作,减少复杂的 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;

如何在 Mysql 数据库中使用视图、事务和索引

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

用户管理

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.————案例:

如何在 Mysql 数据库中使用视图、事务和索引

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

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

如何在 Mysql 数据库中使用视图、事务和索引

看完上述内容,你们对如何在 Mysql 数据库中使用视图、事务和索引有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计1978字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)