数据库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