视图
视图是一个虚拟表,其定义存储在数据库中。与实际表不同,视图实际上不包含任何数据,但它提供了一种在数据库中存储常用复杂查询的方法。您可以通过SELECT语句访问视图数据,就像使用普通表一样。
以下是创建和使用视图的基本步骤:
-
创建视图: 使用以下语法创建视图:
CREATE VIEW view_name AS select_statement;
其中,view_name是视图的名称,select_statement是用于定义视图的查询语句。例如,如果要检索雇员的ID、姓名和部门名称,可以创建以下视图:
CREATE VIEW emp_dept_view AS SELECT t1.emp_id, t1.emp_name, t2.dept_name FROM employees AS t1 LEFT JOIN departments AS t2 ON t1.dept_id = t2.dept_id;
-
访问视图数据: 一旦创建了视图,可以使用以下语句访问视图数据:
SELECT * FROM emp_dept_view;
-
替换现有视图: 如果要更新或替换现有视图,您可以使用以下语法:
CREATE OR REPLACE VIEW view_name AS select_statement;
这将替换或更改现有视图的定义。例如,要向视图添加新列salary,可以执行以下操作:
CREATE OR REPLACE VIEW emp_dept_view AS SELECT t1.emp_id, t1.emp_name, t1.salary, t2.dept_name FROM employees AS t1 LEFT JOIN departments AS t2 ON t1.dept_id = t2.dept_id;
-
通过视图更新数据: 除了SELECT语句外,还可以在视图上执行INSERT、UPDATE和DELETE操作。
存储过程
-
定义:
- 存储过程是一段预先编写好的SQL代码块,可以在需要时被调用执行。
- 它可以接受参数,执行一系列操作,并返回结果。
- 存储过程通常用于处理复杂的业务逻辑、数据转换、数据清洗等任务。
-
作用:
- 提高性能:存储过程可以减少客户端与数据库之间的通信次数,从而提高性能。
- 代码复用:可以将常用的业务逻辑封装成存储过程,方便多个应用程序共享。
- 安全性:存储过程可以设置权限,只允许特定用户或角色执行。
-
使用方法:
- 创建存储过程:
CREATE PROCEDURE procedure_name AS BEGIN -- SQL代码块 END;
- 调用存储过程:
EXEC procedure_name;
- 创建存储过程: