ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

zb_视图与索引

2022-05-26 23:31:18  阅读:156  来源: 互联网

标签:INDEX stuno v1 创建 zb 索引 视图


目录

视图

  • 视图的建立和删除只影响视图本身,不影响对应的基本表。但是可以通过视图更新基本表。
  • 视图是让用户看到需要的数据,而不是全部数据,一定程度上能够屏蔽数据库的复杂性,提高安全性。
  • 视图上不能建立索引,不可以关联触发器等。
  • 如果视图定义中包含聚合函数、算术运算、函数处理等,在更新时会被限制。
  • 视图可以嵌套。在视图上可以再创建新的视图。
  • 视图可和基本表一起使用。
/*视图(虚拟表)*/
CREATE [OR REPLACE] VIEW 视图名[列]
AS
SELECT 
[WITH CHECK OPTION] /*子句用来限制通过改视图修改的记录要符合SELECT语句的指定条件*/
/*OR REPLACE替换已有的同名视图*/
SHOW CREATE VIEW 视图名;/*查看视图的定义语句*/
DESCRIBE 视图名;/*视图相关信息*/
# alter view v1(,,) as select...;/*修改视图*/
# drop view if exists v1,v2;/*删除视图*/
---------------------------------------------------------------
/*创建视图v1,来查看stuinfo中所有女生的基本信息*/
create or replace view v1 as 
select * from stuinfo where stusex = '女' with check option;
/*创建v2,查看选课表中所有学生的学号及平均成绩*/
create or replace view v2(stuno,avg_stuscore) as
select stuno,avg(stuscore) from stumarks group by stuno;
/*创建v3,用来查看所有学生的学号,姓名,课程名及成绩*/
create or replace view v3(学号,姓名,课程名,成绩) as 
select i.stuno,stuname,cname,stuscore
from stuinfo i join stumarks m on i.stuno=m.stuno 
join stucourse c on m.cno=c.cno;
-----------------------------------------------------------
#  使用视图检索,更新基本表中的数据
select avg_stuscore from v2 where stuno='S003';/*查询v2视图中S003学生的平均成绩*/
insert into v1(stuno,stuname,stusex) valuse('S200','刘强','男');/*插入*/
update v1 set stubirth='' ehere stuno ='';/*修改*/
delete from v1 where stuno='';/*删除*/

索引

  • 列是否适合创建索引,主要考虑出是是否现在WHERE后面,是否频繁更新,值域范围、排序或分组等。
  • 索引名是由大家定义的,INDEX是创建普通索引时使用关键字。
  • 普通索引不对索引列的值是否重复做要求。而唯一索引是要求索引列内容不得重复。
  • 排序和分组的列上建立索引 ,可以提高升效率。
/*索引,提高数据查询速度*/
UNIQUE//唯一索引
# 使用CREATE INDEX 语句在已存在的表上创建索引
CREATE [UNIQUE] INDEX 索引名 ON  表名(字段名)
# 创建表的同时建立普通索引
CREATE TABLE t1(
    字段名 数据类型 完整性约束条件,
 	......,
	 [UNIQUE] INDEX 索引名(字段名(长度)
);/*索引名默认是字段名*//*长度是指的是使用列前的多少个字符创建索引*/
# 使用ALTER TABLE 语句在已存在表上创建索引,修改表时创建*/
ALTER TABLE 表名 ADD [UNIQUE] INDEX 索引名(字段名)
ALTER TABLE t1 ADD INDEX multidx(id,name);/*给已有的t1表的id及name字段上建立多列索引*/
ALTER TABLE 表名 ADD UNIQUE(列名);  /*唯一索引*/
ALTERTABLE  table _ name  ADD PRIMARY KEY (列名); /*主键是一种特殊的唯一索引*/

标签:INDEX,stuno,v1,创建,zb,索引,视图
来源: https://www.cnblogs.com/naitiam/p/16315883.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有