SQL入門筆記(1)

2021-08-10 18:09:59 字數 2671 閱讀 6354

增刪改查+儲存,聽說這些做好後,好歹算是入門了。不知不覺自己都開始學習儲存了,心中不禁一陣翻滾。

廢話結束,開始回顧

儲存過程:

儲存過程有三中模式:

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...