創建視圖
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行數據