1. 程式人生 > >mysql 擴展

mysql 擴展

join and gin iter 用戶 name 邏輯 rop out

視圖

視圖是一個虛擬表(非真實存在),其本質是【根據SQL語句獲取動態的數據集,並為其命名】,用戶使用時只需使用【名稱】即可獲取結果集,並可以將其當作表來使用。

--格式:CREATE VIEW 視圖名稱 AS  SQL語句
CREATE VIEW v1 AS 
SELET nid, 
    name
FROM
    A
WHERE
    nid > 4
2.刪除視圖

--格式:DROP VIEW 視圖名稱 DROP VIEW v1
3.修改視圖

-- 格式:ALTER VIEW 視圖名稱 AS SQL語句

ALTER VIEW v1 AS
SELET A.nid,
    B. NAME
FROM
    A
LEFT JOIN B ON A.id 
= B.nid LEFT JOIN C ON A.id = C.nid WHERE A.id > 2 AND C.nid < 5

4、使用視圖

使用視圖時,將其當作表進行操作即可,由於視圖是虛擬表,所以無法使用其對真實表進行創建、更新和刪除操作,僅能做查詢用。

存儲過程

存儲過程是一個SQL語句集合,當主動去調用存儲過程時,其中內部的SQL語句會按照邏輯執行。

1、創建存儲過程

-- 創建存儲過程

delimiter //
create procedure p1()
BEGIN
    select * from t1;
END//
delimiter ;



-- 執行存儲過程

call p1()

無參數存儲過程

2、刪除存儲過程

drop procedure proc_name;

3.執行存儲過程
-- 無參數
call proc_name()

-- 有參數,全in
call proc_name(1,2)

-- 有參數,有in,out,inout
set @t1=0;
set @t2=3;
call proc_name(1,2,@t1,@t2)

mysql 擴展