数据库day0605随堂笔记
视图
#什么是视图?

#视图是保存查询的结果,把查询的结果当做一张虚拟的表,视图依赖于

#原始的表数据和结构,如果原来的表数据或者结构发生了改变,视图的

#结构和数据也会发生相应改变,

#视图的特点:
– 1、效率高
– 2、安全性,可以指定展示其中某几列数据,隐藏敏感信息

#语法结构

#CREATE VIEW 视图名 AS 查询SQL

#创建视图

#CREATE VIEW ShowStu AS SELECT * FROM student;

#创建视图时指定字段名

#CREATE VIEW view_show_stu (sid,sname,sex,birth,classid) AS SELECT * FROM student;

#创建多表视图 不能使用*

– CREATE VIEW Get_student_score AS

– SELECT student.sno,student.sname,student.ssex,student.sbirthday,

– student.class,score.cno,score.degree FROM student,score WHERE student.sno = score.sno

#查看视图结构

#DESC Get_student_score

#查看创建视图的预计

#SHOW CREATE VIEW Get_student_score

#修改视图

– 语法结构:

– ALTER VIEW 视图名 AS 新的查询sql

#修改视图

– ALTER VIEW showstu AS SELECT student.sno,student.sname,student.ssex,student.sbirthday,

– student.class,score.cno,score.degree FROM student,score WHERE student.sno = score.sno

#修改视图的数据

#UPDATE view_show_stu set sname=‘吊炸天’ WHERE sid=103

#删除视图

#DROP VIEW showstu;

#什么是存储过程?

– 多句sql同时执行,先编译好存储服务端,

#特点

– 执行效率高

– 重复使用

#临时改变结束结束符合

delimiter //

#创建存储过程

CREATE PROCEDURE show_studnet()

BEGIN

SELECT * FROM student;

END//

#调用存储过程

CALL show_studnet()

#查看存储过程创建sql

SHOW CREATE PROCEDURE show_studnet

#创建带参数的存储过程

delimiter //

CREATE PROCEDURE show_studnet_un(IN name VARCHAR(30))

BEGIN

SELECT * FROM student WHERE sname=name;

END//

#调用

CALL show_studnet_un(‘吊炸天’)

#删除存储过程

drop PROCEDURE show_studnet_un