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 資料庫水平分表 儲存過程MySql資料庫儲存過程
- 資料庫開發---常用物件-儲存過程資料庫物件儲存過程
- 從根源揭祕HashMap的資料儲存過程HashMap儲存過程
- 使用儲存過程(PL/SQL)向資料庫中儲存BLOB物件儲存過程SQL資料庫物件
- Sql Server系列:儲存過程SQLServer儲存過程
- 從sybase的儲存過程轉向oracle的儲存過程儲存過程Oracle
- sqlserver資料庫還原儲存過程指令碼SQLServer資料庫儲存過程指令碼
- 儲存過程返回資料集儲存過程
- SQL總結(五)儲存過程SQL儲存過程
- 資料儲存(1):從資料儲存看人類文明-資料儲存器發展歷程
- V3700系列儲存資料恢復成功過程資料恢復
- [MySQL光速入門]015 聊聊儲存過程MySql儲存過程
- MySQL-09-mysql 儲存過程入門介紹MySql儲存過程
- 儲存過程在主從庫上的測試儲存過程
- 批量插入資料的儲存過程儲存過程
- mysql 匯入匯出資料庫以及函式、儲存過程的介紹MySql資料庫函式儲存過程
- 【SqlServer】清除過期資料的儲存過程SQLServer儲存過程
- 【資料合集】HarmonyOS從入門到大神資料下載合集
- 【故障公告】1個儲存過程拖垮整個資料庫儲存過程資料庫
- 通過EFCore呼叫GBase8s資料庫儲存過程資料庫儲存過程
- SQL Server 資料備份儲存過程SQLServer儲存過程
- oracle底層字典表obj$及source$與儲存過程procedure系列五OracleOBJ儲存過程
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- 恢復MySQL資料庫建立儲存過程是遇到錯誤MySql資料庫儲存過程
- 金倉資料庫KingbaseES儲存過程 RETURN語句資料庫儲存過程
- 通用的SQL Server資料庫查詢分頁儲存過程SQLServer資料庫儲存過程
- 殺死所有的指定資料庫的程式的儲存過程資料庫儲存過程