本文共 1768 字,大约阅读时间需要 5 分钟。
视图是一种虚拟表,通过封装复杂的SQL语句实现数据的抽象和复用。它的主要优点包括支持重用、简化复杂操作、保护数据安全性等。
创建视图的语法为:
create view 视图名 as 查询语句
以下是一个实际案例:
create view myv1 asselect 员工姓名字段, 部门名字段, 工种名字段from 员工表 join 部门表 on 条件join 工种表 on 条件;
使用视图时可以通过如下方式查询:
select * from myv1 where 员工姓名字段 like '%a%';
视图支持动态修改,操作包括:
create or replace view 视图名 as 查询语句
alter view 视图名 as 查询语句
drop view 视图名
视图操作需注意事项包括:
MySQL变量分为系统变量和自定义变量。
系统变量由服务器提供,不能自定义,分为全局变量和会话变量。
show global variables
show session variables
show variables like '%变量名%'
select @@变量名
(会话变量)或select @@global.变量名
(全局变量)set 系统变量名=值
(默认会话变量,需添加global
修改全局变量)自定义变量分为用户变量和局部变量。
创建方式:
set @用户变量名=值set @用户变量名:=值select @用户变量名:=值
赋值方式可通过查询结果:
select 字段名 into @用户变量名 from 数据表名 where 查询条件
使用示例:
set @count=1;select count(*) into @count from user;select @count;
创建方式:
declare 变量名 类型 [default 值]
赋值方式:
set 局部变量名=值set 局部变量名:=值select 字段 into 局部变量名 from 表名
使用方式:
select 局部变量名;
存储过程是一组预先编译的SQL语句,具有高效运行的优势。
创建语法:
delimiter $ create procedure 存储过程名(参数列表)begin 存储过程体 end $
注意事项:
参数模式 参数名 参数类型
delimiter
设置,默认为\
in
:输入参数,需手动赋值out
:输出参数,存储过程自动返回inout
:输入输出参数以下是一个带inout
模式的案例:
delimiter $ create procedure mypro4 (inout a int, inout b int) begin set a = a * 2; set b = b * 2; end $
调用方式:
call mypro4(2, 3)$
函数与存储过程类似,但返回值必须唯一。
创建语法:
delimiter $ create function 函数名(参数列表)returns 返回类型 begin 函数体 end $
注意事项:
return
语句begin end
delimiter
设置结束标记以下是一个带返回值的函数案例:
delimiter $ create function fun1() returns int begin declare c int default 0; select count(*) into c from empl; return c; end $
调用方式:
select fun1()
视图、变量、存储过程和函数是MySQL中重要的技术工具,广泛应用于数据库管理和开发。理解并掌握这些概念对于数据库优化和高效编程具有重要意义。
转载地址:http://zldfk.baihongyu.com/