SQL - 学习笔记6
文章目录
一、虚拟表
虚拟的表 - 视图
视图(VIEW):一面镜像,本身不包含数据。源数据发生改变,镜像也发生改变。
① 创建视图
CREATE VIEW 视图名
AS 目标二维表;
视图名唯一,字段名唯一。
视图可以嵌套
ORDER BY无意义
所有SELECT相关操作
有限制的更新数据,但不建议
② 删除视图
DROP VIEW 视图名;
优点:
1)简化代码:方便语句重用;实现数据过滤;隐藏复杂语句,如联结。
2)自定义需求:保存计算字段;更改数据形式;拼接字段、起别名。
3)安全可靠:给用户授予表的指定部分的访问权限;不占据物理空间。
固化SQL语句 - 存储过程
存储过程:将多条语句保存为集合。
CREATE DIFINER=‘root’@‘localhost’ PROCEDURE ‘test_pro’(IN t_num INT)
BEGIN
…
END
PROCEDURE后接存储过程名、输入输出类型 IN/OUT/INOUT、参数名、参数数据类型。
执行过程:CALL PROCEDURE <存储过程名>();
删除过程:DROP PROCEDURE <存储过程名>;
优点:
1)简化代码:简化复杂操作;实现封装,方便修改和使用。
2)安全高效:避免反复书写执行语句;可以分享共用,保持数据一致性,避免错误;一般为编译状态保存。
缺点:
1)编写复杂,技能要求高。
2)不同DBMS语法不一样,可移植性差。
SQL特性 - 事务管理
1)为什么需要事务管理
往表中插入数据,执行一半出现故障(数据库存在不完整信息)
2)事务管理:管理必须成批执行的SQL操作,使其完全执行或完全不执行
管理对象:INSERT UPDATE DELETE
3)COMMIT:提交,将SQL语句的执行结果写入数据库表中
ROLLBACK:回滚,撤销SQL语句的执行结果ÿ