增刪改查+儲存,聽說這些做好後,好歹算是入門了。不知不覺自己都開始學習儲存了,心中不禁一陣翻滾。
廢話結束,開始回顧
儲存過程:
儲存過程有三中模式:
in模式
out模式
inout模式
舉個栗子___
delimiter $$ # 定界符
create
procedureuser_main_pro1(in
v_id
int)
begin
#定義變數
declarev_username
varchar(50);
#通過select...
into...給變數賦值
selectf_username
intov_username
fromt_user_main
wheref_userid = v_id;
#執行ddl語句
insert
intot_user_main (f_username)
values(v_username);
end$$ #儲存過程建立結束
delimiter; #恢復mysql分號定界符
其中# ~ 表示的是注釋,注釋是乙個非常好的習慣,還可以將#替代成--
小結:in:不管內部儲存過程pin(某個變數variables)是什麼值,一旦引數在外部設定為@pin=x,那麼最後pin的值就會變成x,而不會因為儲存過程內容設定pin=y而返回y值
舉個栗子___
delimiter $$
create
procedureuser_main_pro2(
outv_count
int)
begin
select
count
(*)
intov_count
fromt_user_main;
end$$
delimiter
out:
不管外部儲存過程pin(某個變數variables)是什麼值,一旦引數在內部設定為@pin=y,那麼最後pin的值就會變成y(儲存過程中設定的值),而不會因為外部指定設定pin=x而返回y值
無栗子,
自己的理解:inout就是in+out,然而這樣的結果是最後相當於乙個翻版,能夠讀取玩不檔案的翻版而已。目測需要繼續深入學習。
為了深入理解in/out/inout的定義,先理解下面的內容:
理解:
語法
create
function
函式名(引數列表)
returns
資料型別
或者(creat precedure 儲存過程名(in/out/inout 引數 資料型別)
begin
# 函式體
# 返回值
end
//
call 儲存過程名(@引數)
返回值是在儲存過程的內部,//以前都是在儲存,call開始呼叫
外部變數? (全域性變數)內部變數?(區域性變數)
全域性變數儲存在記憶體的全域性儲存區中,占用靜態的儲存單元;區域性變數儲存在棧中,只有在所在函式被呼叫時才動態地為變數分配儲存單元。
(1)棧(stack):由編譯器進行管理,自動分配和釋放,存放函式呼叫過程中的各種引數、區域性變數、返回值以及函式返回位址。操作方式類似資料結構中的棧。
(2)全域性(靜態)儲存區:分為data段和bss段。data段(全域性初始化區)存放初始化的全域性變數和靜態變數;bss段(全域性未初始化區)存放未初始化的全域性變數和靜態變數。程式執行結束時自動釋放。其中bbs段在程式執行之前會被系統自動清0,所以未初始化的全域性變數和靜態變數在程式執行之前已經為0。
select you_study_process from you's study
#輸出結果
'摸著石頭過河的瞎子0.0'
《SQL 入門經典》讀書筆記(1)
paul witon,john colby著,敖富江譯。sql 入門經典。北京 清華大學出版社,2006.認識資料庫 1.為什麼和什麼時候使用資料庫 2.本書中用到的資料庫管理系統 sql具有3個主要的角色 1.建立資料庫並定義它的結構 2.查詢資料庫,以獲得回答問題所需要的資料 3.控制資料庫的安...
SQL學習筆記1 資料庫與SQL入門
什麼是資料庫 舉個很簡單的例子,我們去圖書館找書,先要從圖書館的前台查詢書所在的館室,然後確定書架和書的編號,最後就能快速的找到我們想要的書籍了,圖書館就是最常見的一種資料庫。dbms的特點 dbms的分類 rdbms 關係型資料庫管理系統 分類 常用的為postgresql和mysql sql是什...
SQL學習筆記1
select語句用於從資料庫中選取資料。結果被儲存在乙個結果表中,稱為結果集。select column name,column name from table name select from table name select distinct column name,column name f...