欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

關(guān)于mysql函數(shù)、存儲(chǔ)過(guò)程、存儲(chǔ)引擎的簡(jiǎn)單介紹

下文我給大家簡(jiǎn)單講講關(guān)于MySQL函數(shù)、存儲(chǔ)過(guò)程、存儲(chǔ)引擎,大家之前了解過(guò)相關(guān)類似主題內(nèi)容嗎?感興趣的話就一起來(lái)看看這篇文章吧,相信看完mysql函數(shù)、存儲(chǔ)過(guò)程、存儲(chǔ)引擎對(duì)大家多少有點(diǎn)幫助吧。

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的古城網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

內(nèi)置函數(shù)庫(kù)

自定義函數(shù)

語(yǔ)法:

create function 函數(shù)名([參數(shù)列表]) returns 數(shù)據(jù)類型

begin

sql語(yǔ)句;

return 值;

end;

例1:無(wú)參數(shù)函數(shù)

-- 最簡(jiǎn)單的僅有一條sql的函數(shù)

CREATE FUNCTION f1()

RETURNS VARCHAR(30)

RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H點(diǎn)%i分%s秒')

select f1(); -- 調(diào)用函數(shù)

例2:帶參數(shù)函數(shù)

-- 帶參數(shù)函數(shù)(參數(shù)需要聲明類型)

CREATE FUNCTION f2(a INT,b INT)

RETURNS INT

RETURN a + b;

select f2(); -- 調(diào)用函數(shù)

例3:sql 語(yǔ)句體

-- sql 語(yǔ)句體

CREATE FUNCTION add_user(name VARCHAR(30))

RETURNS INT

BEGIN

INSERT INTO user(username) VALUES (name );

RETURN LAST_INSERT_ID();

END

select f3('atong'); -- 調(diào)用函數(shù)

-- 多個(gè)語(yǔ)句需要執(zhí)行時(shí)使用 begin/end 形成聚合體

其它

參數(shù)可以零個(gè)或多個(gè),return 值只能一個(gè)

可在 sql 語(yǔ)句中調(diào)用 select * from user where id=f2(1,2);

查看函數(shù)創(chuàng)建語(yǔ)句:show create function 函數(shù)名;

查看所有函數(shù):show function status [like 'pattern'];

drop function 函數(shù)名;

存儲(chǔ)過(guò)程(Stored Procedure)

通常的,我們編寫好的SQL語(yǔ)句提交給MySQL云服務(wù)器之后,MySQL云服務(wù)器將經(jīng)歷以下過(guò)程:

MySQL引擎檢查語(yǔ)法是否標(biāo)準(zhǔn) -> sql 無(wú)錯(cuò)誤時(shí)編譯該語(yǔ)句 -> 執(zhí)行編譯后的語(yǔ)句 -> 返回結(jié)果

存儲(chǔ)過(guò)程是為了完成特定功能的SQL語(yǔ)句集,經(jīng)編譯創(chuàng)建并保存在數(shù)據(jù)庫(kù)中,調(diào)用存儲(chǔ)過(guò)程時(shí)可省去了 檢測(cè)語(yǔ)法及編譯 過(guò)程直接執(zhí)行語(yǔ)句,從而提高效率。

例1:無(wú)參數(shù)的存儲(chǔ)過(guò)程:

-- 最簡(jiǎn)單的僅有一條sql的存儲(chǔ)過(guò)程

CREATE PROCEDURE a()

SELECT VERSION();

CALL a(); -- 調(diào)用存儲(chǔ)過(guò)程

例2: 帶參數(shù)的存儲(chǔ)過(guò)程

-- 帶參數(shù)的存儲(chǔ)過(guò)程

CREATE PROCEDURE removeUserById(uid INT)

BEGIN

DELETE FROM `user` WHERE `id` = uid;

END

CALL removeUserById(1); -- 執(zhí)行存儲(chǔ)過(guò)程

MySQL存儲(chǔ)過(guò)程的參數(shù)用在存儲(chǔ)過(guò)程的定義,共有三種參數(shù)類型,IN,OUT,INOUT,形式如:

CREATEPROCEDURE 存儲(chǔ)過(guò)程名([[IN |OUT |INOUT ] 參數(shù)名 數(shù)據(jù)類形...])

IN 輸入?yún)?shù):表示調(diào)用者向過(guò)程傳入值(傳入值可以是字面量或變量)

OUT 輸出參數(shù):表示過(guò)程向調(diào)用者傳出值(可以返回多個(gè)值)(傳出值只能是變量)

INOUT 輸入輸出參數(shù):既表示調(diào)用者向過(guò)程傳入值,又表示過(guò)程向調(diào)用者傳出值(值只能是變量)

例3:IN/OUT 修飾參數(shù)

-- IN uid 參數(shù)為傳入?yún)?shù),OUT nums 參數(shù)為傳出參數(shù)

-- OUT 可以多個(gè),即存儲(chǔ)過(guò)程可返回多個(gè)值

CREATE PROCEDURE test(IN uid INT,OUT nums INT)

BEGIN

DELETE FROM `user` WHERE id = uid;

SELECT COUNT(uid) FROM `user` INTO nums;

end

-- 調(diào)用鄭州好的婦科醫(yī)院 http://www.zzkedayy.com/

CALL test(7,@param); -- @param 相當(dāng)于傳入變量去接受數(shù)據(jù)

SELECT @param;

mysql 變量

-- into

SELECT 'Hello World' into @x;

SELECT @x;

-- set

SET @y='Goodbye Cruel World';

SELECT @y;

存儲(chǔ)引擎

MySQL可以將數(shù)據(jù)以不同的技術(shù)存儲(chǔ)在文件(內(nèi)存)中,這種技術(shù)就稱為存儲(chǔ)引擎。每一種存儲(chǔ)引擎使用不同的存儲(chǔ)機(jī)制、索引技巧、鎖定水平,最終提供廣泛且不同的功能。

在處理并發(fā)讀或者并發(fā)寫的時(shí)候,系統(tǒng)會(huì)使用鎖系統(tǒng)解決這個(gè)問(wèn)題,鎖分為共享鎖和排他鎖:

共享鎖(讀鎖):在同一時(shí)間段內(nèi),多個(gè)用戶可以讀取同一個(gè)資源,讀取過(guò)程中數(shù)據(jù)不會(huì)發(fā)生任何變化。

排他鎖(寫鎖):在任何時(shí)候只能有一個(gè)用戶寫入資源,當(dāng)進(jìn)行寫鎖時(shí)會(huì)阻塞其他的讀鎖或者寫鎖操作。

在加鎖的時(shí)候,只需要對(duì)某條特定的記錄加鎖就可以了,全部加鎖會(huì)增加系統(tǒng)開銷。

鎖顆粒又稱為鎖的力度,指的是鎖定時(shí)的單位,就是鎖主要分為表鎖和行鎖:

表鎖:是一種開銷最小的鎖策略

行鎖:是一種開銷最大的鎖策略

事務(wù)處理

在 MySQL 中只有使用了 Innodb 數(shù)據(jù)庫(kù)引擎的數(shù)據(jù)庫(kù)或表才支持事務(wù)。事務(wù)必須滿足 ACID 特性。

原子性(Atomicity)-- 要么都發(fā)生,要么都不發(fā)生。

一致性(Consistency) -- 保持?jǐn)?shù)據(jù)的一致。

隔離性(Isolation) -- 事務(wù)之間相互獨(dú)立。

持久性(Durability) -- 事務(wù)處理結(jié)束后,對(duì)數(shù)據(jù)的修改就是永久的。

主鍵、外鍵和索引

主鍵

外鍵

索引

定義

唯一標(biāo)識(shí)一條記錄,不能有重復(fù)的,不允許為空

表的外鍵是另一表的主鍵, 外鍵可以有重復(fù)的, 可以是空值

該字段沒(méi)有重復(fù)值,但可以有一個(gè)空值

作用

用來(lái)保證數(shù)據(jù)完整性

用來(lái)和其他表建立聯(lián)系用的

是提高查詢排序的速度

個(gè)數(shù)

主鍵只能有一個(gè)

一個(gè)表可以有多個(gè)外鍵

一個(gè)表可以有多個(gè)惟一索引

大家覺得mysql函數(shù)、存儲(chǔ)過(guò)程、存儲(chǔ)引擎這篇文章怎么樣,是否有所收獲。如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。

網(wǎng)頁(yè)題目:關(guān)于mysql函數(shù)、存儲(chǔ)過(guò)程、存儲(chǔ)引擎的簡(jiǎn)單介紹
分享URL:http://chinadenli.net/article14/pijege.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、面包屑導(dǎo)航、標(biāo)簽優(yōu)化、移動(dòng)網(wǎng)站建設(shè)、微信小程序、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)