此文章是我初學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 ...