日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MySQL存儲函數(shù)以及觸發(fā)器詳解

瀏覽:31日期:2023-08-14 20:18:43
目錄MySQLSQL存儲函數(shù)1). 介紹2). 案例 觸發(fā)器介紹 語法1). 創(chuàng)建2). 查看3). 刪除案例A. 插入數(shù)據(jù)觸發(fā)器測試:B. 修改數(shù)據(jù)觸發(fā)器測試:C. 刪除數(shù)據(jù)觸發(fā)器測試:MySQL

MySQL是一個關系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),屬于 Oracle 旗下產品。MySQL 是最流行的關系型數(shù)據(jù)庫管理系統(tǒng)之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關系數(shù)據(jù)庫管理系統(tǒng)) 應用軟件之一。MySQL是一種關系型數(shù)據(jù)庫管理系統(tǒng),關系數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內,這樣就增加了速度并提高了靈活性。MySQL所使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。MySQL 軟件采用了雙授權政策,分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型和大型網站的開發(fā)都選擇 MySQL 作為網站數(shù)據(jù)庫。

SQL

結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種數(shù)據(jù)庫查詢和程序設計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關系數(shù)據(jù)庫系統(tǒng)。結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數(shù)據(jù)結構上工作。它不要求用戶指定對數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結構的不同數(shù)據(jù)庫系統(tǒng), 可以使用相同的結構化查詢語言作為數(shù)據(jù)輸入與管理的接口。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。

存儲函數(shù)1). 介紹

存儲函數(shù)是有返回值的存儲過程,存儲函數(shù)的參數(shù)只能是 IN 類型的。具體語法如下:

CREATE FUNCTION 存儲函數(shù)名稱 ([ 參數(shù)列表 ])RETURNS type [characteristic ...]BEGIN-- SQL語句RETURN ...;END ;

characteristic 說明

DETERMINISTIC :相同的輸入?yún)?shù)總是產生相同的結果

NO SQL :不包含 SQL 語句。

READS SQL DATA :包含讀取數(shù)據(jù)的語句,但不包含寫入數(shù)據(jù)的語句。

2). 案例

計算從 1 累加到 n 的值, n 為傳入的參數(shù)值。

create function fun1(n int)returns int deterministicbegindeclare total int default 0;while n>0 doset total := total + n;set n := n - 1;end while;return total;end;select fun1(50);

在 mysql8.0 版本中 binlog 默認是開啟的,一旦開啟了, mysql 就要求在定義存儲過程時,需要指定characteristic 特性,否則就會報如下錯誤:

觸發(fā)器介紹

觸發(fā)器是與表有關的數(shù)據(jù)庫對象,指在 insert/update/delete 之前 (BEFORE) 或之后 (AFTER) ,觸發(fā)并執(zhí)行觸發(fā)器中定義的 SQL 語句集合。觸發(fā)器的這種特性可以協(xié)助應用在數(shù)據(jù)庫端確保數(shù)據(jù)的完整性, 日志記錄 , 數(shù)據(jù)校驗等操作 。

使用別名 OLD 和 NEW 來引用觸發(fā)器中發(fā)生變化的記錄內容,這與其他的數(shù)據(jù)庫是相似的。現(xiàn)在觸發(fā)器還只支持行級觸發(fā),不支持語句級觸發(fā)。

語法1). 創(chuàng)建CREATE TRIGGER trigger_nameBEFORE/AFTER INSERT/UPDATE/DELETEON tbl_name FOR EACH ROW -- 行級觸發(fā)器BEGINtrigger_stmt ;END; 2). 查看SHOW TRIGGERS ;3). 刪除DROP TRIGGER [schema_name.]trigger_name ; -- 如果沒有指定 schema_name,默認為當前數(shù)據(jù)庫 。案例

通過觸發(fā)器記錄 tb_user 表的數(shù)據(jù)變更日志,將變更日志插入到日志表 user_logs 中 , 包含增加 ,

修改 , 刪除 ;

表結構準備 :

-- 準備工作 : 日志表 user_logscreate table user_logs(id int(11) not null auto_increment,operation varchar(20) not null comment '操作類型, insert/update/delete',operate_time datetime not null comment '操作時間',operate_id int(11) not null comment '操作的ID',operate_params varchar(500) comment '操作參數(shù)',primary key(`id`))engine=innodb default charset=utf8;A. 插入數(shù)據(jù)觸發(fā)器create trigger tb_user_insert_triggerafter insert on tb_user for each rowbegininsert into user_logs(id, operation, operate_time, operate_id, operate_params)VALUES(null, 'insert', now(), new.id, concat('插入的數(shù)據(jù)內容為:id=',new.id,',name=',new.name, ', phone=', NEW.phone, ', email=', NEW.email, ',profession=', NEW.profession));end;測試:-- 查看show triggers ;-- 插入數(shù)據(jù)到tb_userinsert into tb_user(id, name, phone, email, profession, age, gender, status,createtime) VALUES (26,'三皇子','18809091212','erhuangzi@163.com','軟件工程',23,'1','1',now());

測試完畢之后,檢查日志表中的數(shù)據(jù)是否可以正常插入,以及插入數(shù)據(jù)的正確性。

B. 修改數(shù)據(jù)觸發(fā)器create trigger tb_user_update_triggerafter update on tb_user for each rowbegininsert into user_logs(id, operation, operate_time, operate_id, operate_params)VALUES(null, 'update', now(), new.id,concat('更新之前的數(shù)據(jù): id=',old.id,',name=',old.name, ', phone=',old.phone, ', email=', old.email, ', profession=', old.profession,' | 更新之后的數(shù)據(jù): id=',new.id,',name=',new.name, ', phone=',NEW.phone, ', email=', NEW.email, ', profession=', NEW.profession));end;測試:-- 查看show triggers ;-- 更新update tb_user set profession = '會計' where id = 23;update tb_user set profession = '會計' where id <= 5;

測試完畢之后,檢查日志表中的數(shù)據(jù)是否可以正常插入,以及插入數(shù)據(jù)的正確性。

C. 刪除數(shù)據(jù)觸發(fā)器create trigger tb_user_delete_triggerafter delete on tb_user for each rowbegininsert into user_logs(id, operation, operate_time, operate_id, operate_params)VALUES(null, 'delete', now(), old.id,concat('刪除之前的數(shù)據(jù): id=',old.id,',name=',old.name, ', phone=',old.phone, ', email=', old.email, ', profession=', old.profession));end;測試:-- 查看show triggers ;-- 刪除數(shù)據(jù)delete from tb_user where id = 26;

測試完畢之后,檢查日志表中的數(shù)據(jù)是否可以正常插入,以及插入數(shù)據(jù)的正確性。

到此這篇關于MySQL存儲函數(shù)以及觸發(fā)器詳解的文章就介紹到這了,更多相關MySQL存儲函數(shù)及觸發(fā)器內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品一二三**| 伊人久久在线| 国产视频亚洲| 爽好久久久欧美精品| 国产一区导航| 亚洲九九精品| 国产日产精品_国产精品毛片| 日韩精品91亚洲二区在线观看| 中文字幕一区日韩精品| 青青草91久久久久久久久| 日韩福利在线观看| 国产黄色一区| 日韩高清欧美| 欧美精品黄色| 久久国产高清| 国产三级一区| 水蜜桃精品av一区二区| 一区二区视频欧美| 国产欧美在线| 久久九九国产| 蜜桃久久久久久久| 欧美激情一区| 国产综合激情| 欧美亚洲自偷自偷| 亚洲国产欧美日本视频| 亚洲一区二区免费看| 欧美一区影院| 国产91精品对白在线播放| 蜜桃视频在线观看一区二区| 在线看片日韩| 日韩久久视频| 久久精品av麻豆的观看方式| 视频二区不卡| 久久精品av麻豆的观看方式| 另类中文字幕国产精品| 日本欧美韩国一区三区| 免费不卡中文字幕在线| 青草国产精品久久久久久| 136国产福利精品导航网址| 欧美亚洲二区| 亚洲一区日韩| 国产综合色区在线观看| 日本aⅴ亚洲精品中文乱码| 欧美日韩在线二区| 亚洲精品欧美| 国产精品毛片在线看| 欧美一区二区三区免费看| 亚洲经典在线| 天堂网av成人| 超级白嫩亚洲国产第一| 久久国产三级精品| 亚洲精品在线国产| 蜜桃久久av| 黄色在线一区| 亚洲欧洲午夜| 久久www成人_看片免费不卡| 亚洲夜间福利| 日韩在线不卡| 亚洲成人va| 久久精品二区亚洲w码| 国产精品久久乐| 国产极品嫩模在线观看91精品| 亚洲精品在线国产| 综合一区二区三区| 日韩不卡视频在线观看| 肉色欧美久久久久久久免费看| 麻豆视频一区| 欧美a在线观看| 久久精品伊人| 精品日韩一区| 欧美日韩国产一区二区三区不卡| 99热精品久久| 久久av一区| 日韩精品中文字幕一区二区| 中文字幕日韩高清在线| 麻豆免费精品视频| zzzwww在线看片免费| 秋霞影视一区二区三区| 久久久久网站| 欧美资源在线| 国产精品密蕾丝视频下载| 国产精品a级| 欧美成人a交片免费看| 欧美精品日日操| 人人爽香蕉精品| 国产亚洲精品美女久久| 国产aⅴ精品一区二区三区久久| 亚洲一级少妇| 亚洲图片久久| 久久免费精品| 国产韩日影视精品| 少妇精品久久久| 麻豆免费精品视频| 欧美日韩国产一区二区三区不卡| 欧美成人午夜| 国产欧美日韩视频在线| 欧洲激情综合| 国产精品天堂蜜av在线播放| 亚洲精品一区三区三区在线观看| 蜜桃久久精品一区二区| av资源中文在线天堂| 蜜臀av性久久久久蜜臀aⅴ流畅 | 日韩不卡在线观看日韩不卡视频| 激情综合五月| 亚州av一区| 影视先锋久久| 97精品在线| 国产欧美日韩一级| 免费视频一区二区| 色天使综合视频| 老司机精品视频在线播放| 爽好多水快深点欧美视频| 亚洲欧洲美洲av| 久久超碰99| 欧美亚洲免费| 免费成人av在线播放| 日韩精品欧美激情一区二区| 蜜桃精品视频| 国产精品亚洲二区| 国产毛片精品| 国产乱码精品一区二区三区亚洲人 | 亚洲免费毛片| 丝袜国产日韩另类美女| 亚洲精品99| 午夜av一区| 黄色日韩在线| 国产农村妇女精品一二区| 在线 亚洲欧美在线综合一区| 成人免费一区| 黑人精品一区| 久久国产中文字幕| 91精品国产成人观看| 久久久久美女| 亚洲精品欧洲| 国产91在线精品| 日韩亚洲精品在线观看| 日韩免费视频| 少妇精品导航| 久久不射中文字幕| 蜜芽一区二区三区| 日韩精品视频一区二区三区| 国产欧美另类| 亚洲国产成人二区| 精品国产亚洲一区二区三区大结局| 久久丁香四色| 99久久婷婷| 日韩精品成人在线观看| 美女免费视频一区| 美女久久久久| 日韩av中文字幕一区| 麻豆成人综合网| 日韩视频一区二区三区在线播放免费观看 | 日本在线成人| a日韩av网址| 亚洲一区二区日韩| 美女精品久久| 九一精品国产| 国产精品一区高清| 国产综合视频| 久久99性xxx老妇胖精品| 天堂资源在线亚洲| 日本aⅴ精品一区二区三区 | 欧美精品一区二区三区精品| 日韩一区二区三区精品视频第3页 日韩一区二区三区免费视频 | 日韩国产一区二| 日韩国产网站| 国产美女久久| 蜜桃视频在线观看一区二区| 成人国产精品一区二区免费麻豆| 日韩午夜一区| 日韩国产欧美| 国产探花一区在线观看| 亚洲一级网站| 国产自产自拍视频在线观看| 日本在线不卡视频| 影音先锋国产精品| 精品免费av在线| 成人在线观看免费视频| 国产欧美日韩精品一区二区免费| 99热精品久久| 久久男人av资源站| 久久一区亚洲| 欧美aa在线视频| 欧美日韩一区二区三区四区在线观看 | 婷婷中文字幕一区| 美女性感视频久久| 日本va欧美va瓶| 在线看片日韩| 国产高清一区二区| 欧美日韩水蜜桃| 欧产日产国产精品视频| 国产一区二区三区免费在线| 国产美女久久| 久久香蕉网站| 精品视频一二| 亚洲1234区| 久久中文字幕av| 悠悠资源网久久精品| 狠狠爱成人网| 一区二区国产在线|