大家好,又见面了,我是你们的朋友全栈君。
一.视图概述
1.视图是基于某个查询结果的虚表。(根据实际存在的表,经过查询之后,创建出来的一个虚表,被称为视图)
2.视图如同真实的表一样,对视图进行增删改(insert,update,delete)操作,原表数据会受影响,同样的道理,对原表进行增删改操作,视图也会受影响。
3.视图的作用:方便用户对数据进行操作
二.创建视图
格式:create view 视图的名字 as select查询语句;
— 创建一个视图view_student,包含计算机系和数学系学生的信息
create view view_student as select * from student where sdept in(‘计算机系’,’数学系’);
— 查询view_student视图中的内容
select * from view_student;
— 创建一个视图view_sc,包含修了c02课程的学生学号,姓名,年龄,课程号,成绩
create view view_sc as select student.sno,sname,sage,cno,grade from student,sc where student.sno=sc.sno and cno=’c02′;
select * from view_sc;
三.修改视图
1.修改视图的结构
alter view 视图的名字 as select查询语句;
2.修改视图中的数据
格式:参考修改表数据的语法格式,把表名改成视图名
update 视图名字 set 列名=值 where 条件;
— 修改view_student视图结构(学号,姓名,专业)
alter view view_student as select sno,sname,sdept from student where sdept in (‘计算机系’,’数学系’);
— 把视图view_student中,9512101学生的专业改为软件测试
update view_student set sdept=’软件测试’ where sno=’9512101′;
select * from student;
— 在view_student,把9512102学生姓名改成刘晨晨
update view_student set sname=’刘晨晨’ where sno=’9512102′;
— 查询view_student视图中的内容
select * from view_student;
四.删除视图
1.删除视图中的数据
格式:参考删除表数据的语法格式,把表名改成视图名
delete from 视图的名字 where 条件;
2.insert语句向视图中插入数据
格式:参考表插入数据的格式
insert into 视图名字 values(值1,值2…);
3.删除整个视图
格式:drop view 视图名字;
— 创建一个视图view_student,包含计算机系和数学系学生的信息
create view view_student as select * from student where sdept in(‘计算机系’,’数学系’);
— 创建一个视图view_sc,包含修了c02课程的学生学号,姓名,年龄,课程号,成绩
create view view_sc as select student.sno,sname,sage,cno,grade from student,sc where student.sno=sc.sno and cno=’c02′;
select * from view_sc;
— 修改view_student视图结构(学号,姓名,专业)
alter view view_student as select sno,sname,sdept from student where sdept in (‘计算机系’,’数学系’);
— 把视图view_student中,9512101学生的专业改为软件测试
update view_student set sdept=’软件测试’ where sno=’9512101′;
select * from student;
— 在view_student,把9512102学生姓名改成刘晨晨
update view_student set sname=’刘晨晨’ where sno=’9512102′;
— 查询view_student视图中的内容
select * from view_student;
— 向view_student表中插入两条数据
insert into view_student values(‘9512106′,’张三’,’计算机系’),(‘9512107′,’李四’,’计算机系’);
— 从view_student视图中,删除张三学生记录
delete from view_student where sname=’张三’;
— 删除view_student视图
drop view view_student;
三.视图
视图—->对实表进行查询得到的一张虚表
一.索引概述
1.索引的定义:索引是针对表中的列来进行设置的,能够快速的查询数据。
例:表(书) 索引(目录) 定位的操作
一个表中索引的设置,不会受到个数限制。
2.索引的作用(优点)—->查询
2.1加快数据的检索(查询)—->最根本的作用
2.2保证数据的唯一性
2.3实现表与表之间的参照完整性
2.4利用索引设置,可以减少分组和排序的时间
二.索引的优缺点
a.索引的缺点:
1.创建索引需要消耗数据空间,并花费一定的时间
2.查询的速度是快了,但是索引会减慢增删改的操作
3.索引的创建也是需要消耗系统性能
4.索引的优势一定在于表中数据越多,查询的速度提升就越明显,对于小表来说,索引可能不会产生优化的效果
b.优先考虑建立索引的列:
1.建立有主键或者外键约束的列
2.查询中频繁使用的列
3.连接过程中频繁使用的列(表连接,子查询)
4.分组和排序用到的列
三.创建索引
1.普通索引的创建:
格式:create index 索引的名字 on 表名(列名);
2.唯一索引的创建
格式:create unique index 索引的名字 on 表名(列名);
四.删除索引
格式:drop index 索引的名字 on 表名;
— 给student表中sno的列创建一个普通的索引index_sno
create index index_sno on student(sno);
select sno from student; — 0.063s 0.060s
— 给course表的cno列设置唯一索引 index_cno
create unique index index_cno on course(cno);
— 删除course表中的唯一索引
drop index index_cno on course;
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163028.html原文链接:https://javaforall.c