Mysql程式設計之過程基本概念

2021-07-24 15:59:10 字數 2769 閱讀 1766

此文章是我初學mysql程式設計的時候做的一些總結。

過程--procedure

1.在php 中,是沒有過程(procedure)這個概念的,php只有函式(function)概念

過程:沒有返回值得函式

函式:乙個有返回值的過程

2.儲存過程:把若干條sql語句封裝起來==>過程

我們把這個過程儲存在資料庫中==>儲存過程

3.建立語法: 

create procedure p12()

begin

sql....

end$

檢視已有的過程: show procedure status

刪除已有的過程:  drop procedure p2  //不需要加()

呼叫儲存過程:    call p1()

4.儲存過程是可以程式設計的

可以使用變數,表示式、控制結構、來完成複雜的控制

1.宣告變數

使用 declare 來宣告變數 //類似於sql中建立列

而且變數可以進行合法的運算 */-+

格式 create procedure p3()

begin

declare age int default 18; // 宣告int型變數 age。預設18

set age := age + 20;//把age+20的運算結果賦給age 

// := 是賦值的意思

select concat('年齡是', age);//select 表示輸出的意思

end$

2.可以有變數控制結構 (順序、選擇、迴圈)

if/else

結構create procedure p4()

begin

declare age int default 18;

if age>18 then

select '成年';

else

select '未成年';

end$

while/do

結構create procedure p5()

begin

declare total int default 0;

declare num int default 0;

while num<=100 do

set total := total+num;

set num := num+1;

end while;

select total;

end$

case 多條件分支

結構create procedure p11()

begin

declare pos int default 0;

set pos := floor(5*rand());

case pos

when 1 then select '1111111';

when 2 then select '2222222';

when 3 then select '3333333';

else select '4444444';

end case;

end$

repeat 迴圈

結構create procedure p12()

begin

declare total int default 0;

declare i int default 0;

repeat

set i := i + 1;

set total := total + i;

until i>=100 end repeat;

select total;

end$

3.宣告引數(傳參)

in/out/inout  

(in 表示從視窗輸入到程式中)

(out 表示輸出)

in 的結構

create procedure p8(in n int) //in 表示這個引數要輸入到過程中  out 表示向外發射乙個值

begin

declare total int default 0;

declare num int default 0;

while numset num := num+1;

set total := total+num;

end while;

select total;

end$

out 的結構

create procedure p9(in n int, out total int) 

begin

declare num int default 0;

declare total int default 0; //必須要有初始值,否則total為null,null和任何數組合都為null

while num < n do 

set num := num+1;

set total := total+num;

end while;

end$

--在視窗內輸入  call p9(100, @sum) 

--然後在輸入 select @sum

inout 的結構

create procedure p10(inout age int)

begin

set age := age +20;

end$

-- 在黑視窗中輸入

-- set @currage = 8 

-- call p10(@currage) 

-- select @currage 

程式設計基本概念

程式設計基本概念 一 賦值語句 1.c c code int i 1 void main 在c 中,這樣的賦值操作時合法的,int i i,i變數從宣告的那一刻起就是可見的,main 裡的i不是1,因為它與mian 外的i無關,而是乙個未定義的值。2.include using namespace ...

MySQL 基本概念

mysql 是最流行的開源資料庫系統,可執行於幾乎所有的作業系統平台。在 mysql 安裝 一文中詳解介紹了安裝步驟,並且安裝 phpmyadmin 來管理 mysql 資料庫系統。在安裝完 mysql 資料庫系統後,系統會預設建立乙個名為 test 的資料庫 database 我們也可以建立多個資...

MySQL基本概念

mysql資料庫連線 root host mysql u root p enter password 以上命令執行後,登入成功輸出結果如下 welcome to the mysql monitor.commands end with or g.your mysql connection id is ...