MySQL---資料庫從入門走向大神系列(五)-儲存過程
本篇部落格講解:
自動增長列、欄位值唯一性約束、儲存過程、區分大小寫的查詢!
自動增長列、欄位值唯一性約束
create table aa(
id int auto_increment primary key,
sname varchar(32) unique
);
insert into aa values(5,'abc');
建立一個自動增長的id屬性(最開始不設定就從0開始增長)
(後面的id如果有值了,如果新增資料時沒有設定id,MySQL就會用最大的id加1做為最新的id)
注意:auto_increment 在MySQL中支援,其他的資料庫設定自動增長列中關鍵字不一樣。
unique 對sname進行唯一性約束,也就是不能有相同的sname(可以有一個值是null)。
儲存過程:
其實這個SQL中的儲存過程很像Java中的定義函式,呼叫函式。
首先看定義:
create procedure 過程名(引數...)
begin
SQL語句...
end
呼叫:
call 過程名(實參)
有一個需要注意的地方:
在定義前,需要先把預設的語句結束’;’號改成其它,如’&&’,這樣儲存過程中定義的分號就不會被看成是語句結束(否則會直接被提交)。
在定義完之後,還要把’;’還原成預設的結束符。
例項一:無參的儲存過程
delimiter &&
create procedure p1()
begin
insert into stud values('P100','小李',43);
select * from stud;
end&&
delimiter ;
call p1;/*呼叫p1()中的SQL語句,如果沒有call之前,p1()中的SQL語句是沒有被執行的*/
例項二:有參的儲存過程
delimiter &&
create procedure p2(in id varchar(32),in sname varchar(32),in age int)
begin
insert into stud values(id,sname,age);
select * from stud;
end &&
delimiter ;
call p2('P1007','小白',25);
call p2('P1008','小麗',28);
例項三:有返回值的儲存過程
delimiter &&
create procedure p3(in id varchar(32) ,in sname varchar(32),in age int ,out num int)
begin
insert into stud values(id,sname,age);
select * from stud;
select count(*) into num from stud;
end&&
delimiter ;
call p3('P012','小小五',27, @num);
/*呼叫且用num接收結果*/
select @num; /*顯示使用者變數num*/
系統變數名稱:@@變數名
使用者變數名稱:@變數名
區分大小寫的查詢:
因為MySQL的查詢是預設不區分大小寫的:
如果有些時候需要區分大小寫,我們就需要binary這個關鍵字了。
可以這樣用,在stud表中查詢sname中帶’j’ /’J’:
先不寫binary進行查詢:
select * from stud where sname like 'J%';
寫binary進行查詢:
select * from stud where binary sname like 'J%';
相關文章
- 資料庫儲存過程資料庫儲存過程
- MySQL入門系列:儲存程式(三)之儲存過程簡介MySql儲存過程
- 【資料庫】資料庫儲存過程(一)資料庫儲存過程
- MySql資料庫——儲存過程MySql資料庫儲存過程
- MySQL的寫入資料儲存過程MySql儲存過程
- MySQL入門--儲存過程(PROCEDURE)和儲存函式(FUNCTION)MySql儲存過程儲存函式Function
- [MySQL光速入門]015 聊聊儲存過程MySql儲存過程
- 使用儲存過程(PL/SQL)向資料庫中儲存BLOB物件儲存過程SQL資料庫物件
- 頭歌資料庫實驗六:儲存過程資料庫儲存過程
- sqlserver資料庫還原儲存過程指令碼SQLServer資料庫儲存過程指令碼
- V3700系列儲存資料恢復成功過程資料恢復
- 金倉資料庫KingbaseES儲存過程 RETURN語句資料庫儲存過程
- 通過EFCore呼叫GBase8s資料庫儲存過程資料庫儲存過程
- 資料儲存(1):從資料儲存看人類文明-資料儲存器發展歷程
- MySQL-09-mysql 儲存過程入門介紹MySql儲存過程
- mysql 匯入匯出資料庫以及函式、儲存過程的介紹MySql資料庫函式儲存過程
- 入門Kubernetes-資料儲存
- 【故障公告】1個儲存過程拖垮整個資料庫儲存過程資料庫
- 【SqlServer】清除過期資料的儲存過程SQLServer儲存過程
- 儲存過程_造使用者資料儲存過程
- 使用JavaScript和Python實現Oracle資料庫的儲存過程?JavaScriptPythonOracle資料庫儲存過程
- 恢復MySQL資料庫建立儲存過程是遇到錯誤MySql資料庫儲存過程
- 【資料合集】HarmonyOS從入門到大神資料下載合集
- SQL Server資料庫遠端更新目標表資料的儲存過程SQLServer資料庫儲存過程
- 分散式文件儲存資料庫之MongoDB基礎入門分散式資料庫MongoDB
- kettle從入門到精通 第五十七課 ETL之kettle呼叫儲存過程儲存過程
- 【融雲分析】從過剩儲存資源到分散式時序資料庫的長儲存分散式資料庫
- Mysql使用儲存過程快速新增百萬資料MySql儲存過程
- 查詢當前資料庫存在某個字串的儲存過程資料庫字串儲存過程
- 淺談mysql資料庫技術,輕鬆玩轉儲存過程MySql資料庫儲存過程
- Room-資料持久化儲存(入門)OOM持久化
- 輕量ORM-SqlRepoEx (五) 儲存過程操作ORMSQL儲存過程
- Oracle儲存過程乾貨(一):儲存過程基礎Oracle儲存過程
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- [MySQL光速入門]017 儲存過程中的"異常處理"MySql儲存過程
- 資料庫分庫,原來 SQL 和儲存過程寫的報表咋辦?資料庫SQL儲存過程
- 儲存過程與儲存函式儲存過程儲存函式
- SQLSERVER儲存過程SQLServer儲存過程
- 呼叫儲存過程儲存過程