久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Mysql中存儲過程和函數的區別是什么

118次閱讀
沒有評論

共計 1320 個字符,預計需要花費 4 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章主要介紹了 Mysql 中存儲過程和函數的區別是什么,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓丸趣 TV 小編帶著大家一起了解一下。

數據庫設計三范式:

第一范式:數據庫表的每一列都是不可分割的原子數據項,即列不可拆分。第二范式:建立在第一范式的基礎上,要求數據庫表中的每個實例或記錄必須是可以唯一被區分的,即唯一標識。第三范式:建立在第二范式的基礎上,任何非主屬性不依賴與其他非主屬性,即引用主鍵。(相關推薦:MySQL 教程)

視圖

視圖是虛擬表,并不儲存數據,只包含定義時的語句的動態數據。

create view view_name as sql 查詢語句

存儲過程

一條或多條 sql 語句集合,其優點為(濃縮:簡單 / 安全 / 高性能):
 1、存儲過程能實現較快的執行速度
 2、存儲過程允許標準組件是編程。
 3、存儲過程可以用流程控制語句編寫,有很強的靈活性,可以完成復雜的判斷和較復雜的運算。
 4、存儲過程可被作為一種安全機制來充分利用。
 5、存儲過程能夠減少網絡流量

delimiter 分隔符
create procedure|proc proc_name()
begin
 sql 語句
end 分隔符
delimiter;-- 還原分隔符,為了不影響后面的語句的使用
默認的分隔符是;但是為了能在整個存儲過程中重用,因此一般需要自定義分隔符(除 \ 外)

存儲過程和函數的區別?

相同點:存儲過程和函數都是為了可重復的執行操作數據庫的 sql 語句的集合。
1)存儲過程和函數都是一次編譯,就會被緩存起來,下次使用就直接命中已經編譯好的 sql 語句,不需要重復使用。減少網絡交互,減少網絡訪問流量。
不同點:標識符不同,函數的標識符是 function,存儲過程是 proceduce。
1)函數中有返回值,且必須有返回值,而過程沒有返回值,但是可以通過設置參數類型(in,out)來實現多個參數或者返回值。
2)存儲函數使用 select 調用,存儲過程需要使用 call 調用。
3)select 語句可以在存儲過程中調用,但是除了 select..into 之外的 select 語句都不能在函數中使用。
4)通過 in out 參數,過程相關函數更加靈活,可以返回多個結果。

觸發器

在對表數據進行變動的時候進行具體的操作,有六種,分別為增刪改的前后操作。

create trigger trigger_name 
ALTER|BEFORE select|update|delete
for each row
trigger_stmt

重點:

只有表才支持觸發器,視圖和臨時表都不支持觸發器不支持更新和覆蓋,修改必須先刪除然后創建

日志

Mysql 主要有四種日志文件:

錯誤日志:記錄啟動,運行或者停止 mysql 時出現的問題;
查詢日志:記錄所有 msyql 的活動
二進制日志:記錄更新過數據的所有語句
緩慢查詢日志:記錄查詢緩慢的任何查詢

感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享 Mysql 中存儲過程和函數的區別是什么內容對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,遇到問題就找丸趣 TV,詳細的解決方法等著你來學習!

向 AI 問一下細節

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-18發表,共計1320字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 化隆| 汶川县| 祁连县| 福州市| 呼和浩特市| 武宣县| 繁峙县| 祁门县| 临朐县| 高安市| 抚松县| 正定县| 曲靖市| 安义县| 肥西县| 农安县| 忻城县| 区。| 嵊泗县| 宁夏| 明水县| 乐山市| 景德镇市| 开平市| 家居| 穆棱市| 双峰县| 阿瓦提县| 宁远县| 乌苏市| 酒泉市| 探索| 龙陵县| 白河县| 弥勒县| 三亚市| 潍坊市| 岐山县| 商城县| 兴国县| 长宁区|