mysql資料庫儲存示例

2021-10-18 22:29:46 字數 2171 閱讀 7531

將下面的語句複製貼上可以一次性執行完,我已經測試過,沒有問題!

mysql儲存過程簡單例項:

/********************* 建立表 *****************************/

delimiter //

drop table if exists test //

create table test(

id int(11) null

/********************** 最簡單的乙個儲存過程 **********************/

drop procedure if exists sp//

create procedure sp() select 1 //

call sp()//

/********************* 帶輸入引數的儲存過程  *******************/

drop procedure if exists sp1 //

create procedure sp1(in p int)

comment 'insert into a int value'

begin

/* 定義乙個整形變數 */

declare v1 int;

/* 將輸入引數的值賦給變數 */

set v1 = p;

/* 執行插入操作 */

insert into test(id) values(v1);

end/* 呼叫這個儲存過程  */

call sp1(1)//

/* 去資料庫檢視呼叫之後的結果 */

select * from test//

/****************** 帶輸出引數的儲存過程 ************************/

drop procedure if exists sp2 //

create procedure sp2(out p int)

/*這裡的deterministic子句表示輸入和輸出的值都是確定的,不會再改變.我一同事說目前mysql並沒有實現該功能,因此加不加都是not

deterministic的*/

deterministic

begin

select max(id) into p from test;

end/* 呼叫該儲存過程,注意:輸出引數必須是乙個帶@符號的變數 */

call sp2(@pv)//

/* 查詢剛剛在儲存過程中使用到的變數 */

select

@pv//

/******************** 帶輸入和輸出引數的儲存過程 ***********************/

drop procedure if exists sp3 //

create procedure sp3(in p1 int , out p2 int)

begin

if p1 = 1 then

/* 用@符號加變數名的方式定義乙個變數,與declare類似 */

set @v = 10;

else

set @v = 20;

end if;

/* 語句體內可以執行多條sql,但必須以分號分隔 */

insert into test(id) values(@v);

select max(id) into p2 from test;

end/* 呼叫該儲存過程,注意:輸入引數是乙個值,而輸出引數則必須是乙個帶@符號的變數 */

call sp3(1,@ret)//

select @ret//

/***************** 既做輸入又做輸出引數的儲存過程

drop procedure if exists sp4 //

create procedure sp4(inout p4 int)

begin

if p4 = 4 then

set @pg = 400;

else

set @pg = 500;

end if;

select @pg;

end//

call sp4(@pp)//

/* 這裡需要先設定乙個已賦值的變數,然後再作為引數傳入 */

set @pp = 4//

call sp4(@pp)//

Mysql資料庫儲存引擎

儲存引擎是什麼?mysql中的資料用各種不同的技術儲存在檔案 或者記憶體 中。這些技術中的每一種技術都使用不同的儲存機制 索引技巧 鎖定水平並且最終提供廣泛的不同的功能和能力。通過選擇不同的技術,你能夠獲得額外的速度或者功能,從而改善你的應用的整體功能。例如,如果你在研究大量的臨時資料,你也許需要使...

資料庫 mysql儲存引擎

mysql常用的四種引擎的介紹 1 myisam儲存引擎 不支援事務 也不支援外來鍵,優勢是訪問速度快,對事務完整性沒有要求或者以select,insert為主的應用基本上可以用這個引擎來建立表,適合寫多的情況。frm儲存當前資料表的結構,myd儲存當前表的資料,myi儲存當前資料表的索引 支援表級...

Mysql資料庫儲存原理

mysql儲存過程是一組為了完成特定功能的sql語句集,經過編譯之後儲存在資料庫中,當需要使用該組sql語句時使用者只需要通過指定儲存過程的名字並給定引數就可以呼叫執行它了,簡而言之就是一組已經寫好的命令,需要使用的時候拿出來用就可以了。想要快速的了解mysql儲存過程嗎,就一同看一下下文的 mys...