show procedure status 檢視所有儲存過程
<!-- 簡單儲存過程 -->
先將結束符改成//
delimiter //
create procedure query(page int)
beginselect * from class where id > page;
end//
將結束符改回;
delimiter ;
<!-- 呼叫儲存過程 -->
call query(20)
<!-- 刪除儲存過程 -->
drop procedure query
<!-- 會話變數的使用 -->
set @age=10;
select @age;
<!-- 宣告乙個輸出引數的儲存過程 -->
delimiter //
create procedure pro(out str varchar(20))
begin
set str="測試";
end%
delimiter ;
call pro(@name); <!-- 呼叫儲存過程 -->
select @name; <!-- 獲得資料 -->
<!-- 宣告乙個輸入 / 輸出引數的儲存過程 -->
delimiter //
create procedure xx(inout n int)
begin
select n;
<!-- 此時n是區域性變數 -->
set n=500;
end//
delimiter ;
set @n=10;
call xx(@n);
<!-- 列印10 -->
select @n
<!-- 列印500 -->
檢視全域性變數
show global variables;
設定全域性變數
set global max_allowed_packet=53687091200;
帶條件判斷的儲存過程
delimiter $
create procedure testif(in num int,out str varchar(20))
begin
if num = 1 then
set str = '星期一';
if num = 2 then
set str = '星期二';
else
set str = '星期一';
end if;
end $
定義乙個迴圈,求1-100的和
delimiter $
create procedure testwhile(in num int,out result int)
begin
-- 定義乙個區域性變數
declare i int default 1;
declare vsum int default 0;
while iset vsum = vsum + i;
set i = i + 1;
end while;
set result = vsum;
end $
call testwhile(100,@result);
select @result;
into 的使用,將查詢結果作為返回值
delimiter $
create procedure findbyid(in eid int,out vname varchar(20))
begin
select empname into vname from employee where id = eid;
end $
call findbyid(1,@name);
select @name;
<!-- 修改資料 -->
<!-- 插入資料 -->
mysql的簡單用法 mysql簡單用法
刪除使用者 drop user jack drop比delete刪除的優勢在於drop可以刪除使用者的許可權,更加徹底 更改使用者名稱 rename user jack to jacknew 使用者的都存在與user表中,更改名稱,許可權不變 更改使用者密碼 update mysql.user se...
MySQL臨時表的簡單用法
當工作在非常大的表上時,你可能偶爾需要執行很多查詢獲得乙個大量資料的小的子集,不是對整個表執行這些查詢,而是讓mysql每次找出所需的少數記錄,將記錄選擇到乙個臨時表可能更快些,然後在這些表執行查詢。建立臨時表很容易,給正常的create table語句加上temporary關鍵字 create t...
MySQL臨時表的簡單用法
當工作在非常大的表上時,你可能偶爾需要執行很多查詢獲得乙個大量資料的小的子集,不是對整個表執行這些查詢,而是讓mysql每次找出所需的少數記錄,將記錄選擇到乙個臨時表可能更快些,然後在這些表執行查詢。建立臨時表很容易,給正常的create table語句加上temporary關鍵字 create t...