创建视图
sql>create view 视图名 as select语句;
修改视图并添加别名
sql>create or replace view empvu10 (employee_number,employe_name,job_title)
as select empno,ename,job
from emp
where deptno=10;
删除视图
drop view 视图名
创建存储过程
create procedure 过程名(in n varchar(20),out m int)
begin
select count(sal) into m from emp where name=n;
end;
调用
call 过程名(n)
删除
drop procedure 过程名
定义变量
用户变量:使用set或select直接赋值,变量名以@开头例如:set @var=1; select @var:=5;、
定义:基于会话变量实现的, 可以暂存值, 并传递给同一连接里的下一条sql使用的变量.当客户端连接退出时,变量会被释放
用户变量:以"@"开始,形式为"@变量名"
注意:用户变量跟mysql客户端是绑定的,设置的变量,只对当前用户使用的客户端生效。也叫会话变量。
赋值
set @test=1; -- 或者 set @test:=1; -- 或者 select @test,@tt:=2;
注意:如果使用没有初始化的变量,其值是NULL。使用set赋值时,使用的是“=”或者":=",使用select赋值时必须使用的是“:="
局部变量:declare声明,只能在存储过程中使用。
declare var1 int default 0; declare v1,v2 varchar(20);
赋值
set语句进行赋值
set i=500; -- 或者 set i :=500;
declare必须在begin...end语句块中,必须在最前面
为了和oracle赋值相匹配,尽量都使用 ":=" 来赋值
从其他表中拷贝记录
SQL>insert into managers(id,name,salary,hiredate)
select empno,ename,sal,hiredate from emp where job='manager';
可插入多行,插入了3行数据