视图与索引

视图

一、视图的概念及作用

1、什么是视图?

视图(view)是一种虚拟存在的表(亦叫虚表),是一个逻辑表,本身并不包含数据。

基表:用来创建视图的表叫做基表base table。

视图的诸多优点:

1)简单,使用视图的用户完全不需要关心对应基表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。

2)安全,使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。

3)数据独立,一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,基表增加列对视图没有影响;基表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。

总而言之,使用视图的大部分情况是为了保障数据安全性

 

二、视图管理

1、视图的创建

create   view   <视图名称>  [(column_list)]

as

select语句;

例子:

create  view  vT(a,b,c)

as

select sNo,sName,sPassword  from  students;

 

2、查看视图

desc  视图名;

 

3、修改视图

A、alter操作的前提是指定数据库对象已存在

alter  view  vTest

as

select  sNo,sName  from  Students;

 

B、create  or  replace操作

create  or  replace:无论视图是否存在,均可进行操作——如果不存在,则进行创建操作;如果存在,则进行修改操作

create  or  replace  view  vT(a,b)

as

  select sNo,sName  from  students;

 

4、删除视图

语法:drop  view   视图名[,视图名,…]

示例:

drop  view  vT;

drop  view  vT,vTest;

 

三、嵌套视图

定义在另一个视图的上面的视图;视图的结构除了可以来自基表外,还可来自其他试图

 

 

索引

一、索引的概念

在MySQL中,索引(index),也叫键(key),它是存储引擎用于快速找到记录的一种数据结构。

 

对相关列使用索引是提高查询速度的最佳途径。

 

二、索引的管理

1、创建索引

A、创建表时创建索引

create  table  a(

    a  int  auto_increment  primary key,  #主键(自动生成主键索引,特殊的唯一索引)

    b  char(6)  unique,  #唯一键(自动生成唯一索引)

    c  datetime,

    d  float,

    index  cc(c),  #普通索引,在该表字段c上构建名为cc的普通索引

    key  dd(d)   #普通索引,在该表字段d上构建名为dd的普通索引

);

 

B、在已存在的表上创建索引

alter  table  表名

  add  [unique]  index  索引名(字段名[(长度)],…)  [asc|desc];

 

C、使用create  index语句

create  [unique]  index  索引名  on  表名(字段名[(长度)],…)  [asc|desc];

 

2、查看索引

A、图形化界面查看索引,通过旁边的树形目录可查看

 

B、图形化界面,通过右击表名--索引管理查看

 

 

 

 C、通过语句:show  index  from  表名;  查看

 

3、修改索引

先删除指定索引,再以修改后的内容创建同名索引。

 

4、删除索引

语法:

alter  table  表名

  drop  index  索引名;

例:

删除表a的索引ee

alter  table  a

  drop  index  ee;

 

 

 

posted @ 2019-11-16 15:03  这肥猫,好橘!  阅读(733)  评论(0编辑  收藏  举报