iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL视图和索引专篇精讲
  • 761
分享到

MySQL视图和索引专篇精讲

2024-04-02 19:04:59 761人浏览 八月长安
摘要

目录视图View代码实现:索引index建立索引删除索引数据库版本:Mysql8。0.27 如果以下代码执行有问题欢迎一起探讨 视图View 什么是视图? 视图是一个虚拟表,是sql

数据库版本:Mysql8。0.27

如果以下代码执行有问题欢迎一起探讨

视图View

什么是视图?

视图是一个虚拟表,是sql语句的查询结果,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据,在使用视图时动态生成。视图的数据变化会影响到基表,基表的数据变化也会影响到视图[insertupdate delete ] ; 创建视图需要create view 权限,并且对于查询涉及的列有select权限;使用create or replace 或者 alter修改视图,那么还需要改视图的drop权限。

代码实现:

学生成绩表

建立视图


-- v_a是视图名  
create view v_a as 
select id,name,score,dept from s1;

查询视图


-- 查询视图v_a
select*FROM v_a;

-- 查询视图时可以增加条件
select*FROM v_a where id=4;

-- 查询数据库中的全部视图
select `TABLE_NAME` from `INFORMATioN_SCHEMA`.`TABLES` where `TABLE_SCHEMA` = 'test' and `TABLE_TYPE` = 'view';

删除视图


drop view v_a

索引index

  • mysql索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。
  • 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。
  • 拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。
  • 索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。
  • 创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条 件)。
  • 实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。
  • 上面都在说使用索引的好处,但过多的使用索引将会造成滥用。因此索引也会有它的缺点:虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。
  • 建立索引会占用磁盘空间的索引文件。

建立索引

创建表时建立


-- 第一种方式
create table t1 (
t varchar(20),
KEY(t desc)
)
-- 第二种方式
create table t1 (
t varchar(20),
index aa(t(20))
)

修改表时建立索引


-- 该语句添加一个主键,这意 味着索引值必须是唯一的,且不能为NULL。
ALTER TABLE tbl_name ADD PRIMARY KEY (column_list);
 --  这条语句创建索引的 值必须是唯一的(除了NULL外,NULL可能会出现多次)。
 ALTER TABLE tbl_name ADD UNIQUE index_name (column_list);
  -- 添加普通索引,索引 值可出现多次。
  ALTER TABLE tbl_name ADD INDEX index_name (column_list);
   -- 该语句指定了索引 为 FULLTEXT ,用于全文索引。
   ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list);

删除索引


drop index t on t;

到此这篇关于MySQL视图和索引专篇精讲的文章就介绍到这了,更多相关MySQL视图和索引内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL视图和索引专篇精讲

本文链接: https://www.lsjlt.com/news/141785.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作