docker裡面的mysql 更換密碼
阿新 • • 發佈:2020-11-18
1.建立儲存過程語法
CREATE PROCEDURE 儲存過程名 [(引數)] begin --語句塊 end;
2.建立無參儲存過程
CREATE PROCEDURE db_pro() begin SELECT * from person; end;
--執行儲存過程:
CALL db_pro();
3.建立輸入引數儲存過程:
CREATE PROCEDURE db_pro(IN p INT) begin SELECT * from person WHERE id = p; end; SET @p=1;
--執行儲存過程 CALL db_pro(@p);
4.建立輸出引數的儲存過程
CREATE PROCEDURE db_pro(OUT out_p INT) begin SELECT COUNT(*) INTO out_p from person; SELECT out_p; --如果不寫在執行該儲存過程講無法顯示輸出結果 end; CALL db_pro(@out_p); --SELECT @out_p; --也可以
5.建立inout輸入引數的儲存過程
CREATE PROCEDURE db_pro(INOUT inout_p INT) begin SELECT COUNT(*) INTO inout_p from person WHERE id = inout_p; SELECT inout_p; --若不寫將無法顯示輸出結果 end; SET @p=1;CALL db_pro(@p);
6.刪除儲存過程
DROP PROCEDURE if exists 儲存過程名;
7.修改儲存過程
ALTER PROCEDURE 儲存過程名
8.條件語句
CREATE PROCEDURE proc2(IN parameter int) begin declare var int; set var=parameter+1; if var=0 then insert into t values(17); end if; if parameter=0 then update t set s1=s1+1; else update t set s1=s1+2; end if; end;------------------------------------------
DELIMITER // CREATE PROCEDURE proc3 (in parameter int) begin declare var int; set var=parameter+1; case var when 0 then insert into t values(17); when 1 then insert into t values(18); else insert into t values(19); end case; end; // DELIMITER ;
9.迴圈語句
DELIMITER // CREATE PROCEDURE proc4() begin declare var int; set var=0; while var<6 do insert into t values(var); set var=var+1; end while; end; // DELIMITER ;
-- 它在執行操作後檢查結果,而while則是執行前進行檢查。 DELIMITER // CREATE PROCEDURE proc5 () begin declare v int; set v=0; repeat insert into t values(v); set v=v+1; until v>=5 end repeat; end; // DELIMITER ;
-- loop迴圈不需要初始條件,這點和while 迴圈相似,同時和repeat迴圈一樣不需要結束條件, leave語句的意義是離開迴圈。 DELIMITER // CREATE PROCEDURE proc6 () begin declare v int; set v=0; LOOP_LABLE:loop insert into t values(v); set v=v+1; if v >=5 then leave LOOP_LABLE; end if; end loop; end; // DELIMITER ;