TreeMind树图在线AI思维导图
当前位置:树图思维导图模板高校与高等教育其他学科 索引和视图思维导图

索引和视图思维导图

  收藏
  分享
免费下载
免费使用文件
U315561501 浏览量:762023-05-25 20:42:15
已被使用5次
查看详情 索引和视图思维导图

索引和视图

树图思维导图提供 索引和视图 在线思维导图免费制作,点击“编辑”按钮,可对 索引和视图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:f286d67a0e0e97eadbd0fbb0af4b51af

思维导图大纲

索引和视图思维导图模板大纲

索引

概述:数据库索引是为了提高查询速度而对表字段附加的一种标识。简单来说,索引其实是一种数据结构。数据库的索引类似于书籍的索引。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。

适合建立索引的情况

经常在where条件中作为查询条件的字段可以建立索引; 外键关联列可以建立索引; order by排序后面的字段可以建立索引; group by分组后的字段可以建立索引;

不太适合建立索引

经常增、删、改的字段不适合建立索引,每次执行,索引需重新建立; 数据过滤性很差的字段不适合建立索引,如性别字段; 当表数据量过少的时候不太适合建立索引,因为索引占用存储空间;

数据库为什么要设计索引?

为了快速查询

sql创建索引

使用create table 语句 在创建表时创建索引

create table 表名( 字段1 数据类型 【约束】, 字段2 数据类型 【约束】, 字段3 数据类型 【约束】 [unique(唯一索引)\fulltext(全文索引)\SPATIAL(空间索引)] <index\key(都是用来指定索引)> [索引名] (属性名)[(长度)..] -- 索引名:就是索引的名字,不设置的话就是普通索引。属性名:字段名。长度:指定索引的长度,必须是字符串类型才可以使用 );

案例:为student 表的sno 字段创建唯一索引 id_sno。

create table student( 字段1 数据类型 【约束】, 字段2 数据类型 【约束】, 字段3 数据类型 【约束】 unique index id_sno (sno) );

使用create index 语句 在现有表中创建语句

create [unique(唯一索引)\fulltext(全文索引)\SPATIAL(空间索引)] index <索引名> on <表名> (属性名【(长度)】【,】);-- 索引名:就是索引的名字不设置的话就是普通索引。属性名:字段名。长度:指定索引的长度,必须是字符串类型才可以使用

案例:为student 表的sbirthday 字段创建一个普通索引 id_birtid_birth

create index id_birth on student (sbirthday);

使用 alter table 语句创建索引

alter table 表名 add [unique(唯一索引)\fulltext(全文索引)\SPATIAL(空间索引)] index <索引名> on <表名> (属性名【(长度)】【,】);-- 索引名:就是索引的名字,不设置的话就是普通索引。属性名:字段名。长度:指定索引的长度,必须是字符串类型才可以使用

删除索引

sql语句:drop index <索引名> on <表名>;

删除student 表上的 id_name 索引

drop index id_name on student;

王宁使用 SQL语句创建索引来解决问题

create unique index id_sno on student_new(sno); -- 使用where 语句查询sno=1000000的记录 select * from student_new where sno=1000000;

发现:大大的提高了查询速度

视图

什么是视图

视图(VIEW)也被称作虚表,即虚拟的表,是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集被赋予一个名字,即视图名字。 视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化。

使用create view 语句创建视图 :

create [or replace] view view_name(视图名) [(Colum [,..])] as select (select语句) [with [cascaded\local(都是 检查依赖视图中的规则以保持一致性)] check option (强制满足select 的要求,不满足的会被踢走)] --视图名:v_字段名 也是可以的。 select语句 :字面意思,select * from 表名

创建一个名为sc_view2的视图,从数据库gradem的sc表中查询出成绩小于80分的所有学生的学号、课程号、成绩等信息

CREATE or REPLACE view sc_view2 as select * from sc where degree<80; )--除了前面的CREATE or REPLACE view sc_view2 as 的不一样,剩下的就是select查询语句

下面情况的视图不可以执行insert、update和delete操作: 1)多表连接 2)包含distinct 3)包含聚合函数 4)包含groupby 5)包含orderby 6)包含union、unionall 7)包含子查询等

查询视图

DESCRIBE 视图名; (DESCRIBE 一般情况下可以简写成 DESC,输入这个命令的执行结果和输入 DESCRIBE 是一样的。)

删除视图

可以使用 DROP VIEW 语句来删除视图。DROP VIEW <视图名1> [ , <视图名2> …]

删除单条数据

delete from 视图名 where 限制条件 ;

视图的修改

update 视图名set 字段=‘新值 ’where 限制条件

相关思维导图模板

减轻爆炸荷载的设计和改进方法的实验研究——最新综述思维导图

树图思维导图提供 减轻爆炸荷载的设计和改进方法的实验研究——最新综述 在线思维导图免费制作,点击“编辑”按钮,可对 减轻爆炸荷载的设计和改进方法的实验研究——最新综述  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:e0b6ed8ce7ab16ab98c7a7290515476e

陈述类型思维导图

树图思维导图提供 陈述类型 在线思维导图免费制作,点击“编辑”按钮,可对 陈述类型  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:55b6bb9c5bc9df3d31815b6c5d8a15be