亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL存儲過程中的基本函數和觸發器的相關學習教程

2024-07-24 13:08:32
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了MySQL存儲過程中的基本函數和觸發器的相關學習教程,包括觸發器的創建和刪除等基本操作,需要的朋友可以參考下
 

MySQL存儲過程的常用函數

一.字符串類 
CHARSET(str) //返回字串字符集
CONCAT (string2 [,... ]) //連接字串
INSTR (string ,substring ) //返回substring首次在string中出現的位置,不存在返回0
LCASE (string2 ) //轉換成小寫
LEFT (string2 ,length ) //從string2中的左邊起取length個字符
LENGTH (string ) //string長度
LOAD_FILE (file_name ) //從文件讀取內容
LOCATE (substring , string [,start_position ] ) 同INSTR,但可指定開始位置
LPAD (string2 ,length ,pad ) //重復用pad加在string開頭,直到字串長度為length
LTRIM (string2 ) //去除前端空格
REPEAT (string2 ,count ) //重復count次
REPLACE (str ,search_str ,replace_str ) //在str中用replace_str替換search_str
RPAD (string2 ,length ,pad) //在str后用pad補充,直到長度為length
RTRIM (string2 ) //去除后端空格
STRCMP (string1 ,string2 ) //逐字符比較兩字串大小,
SUBSTRING (str , position [,length ]) //從str的position開始,取length個字符,
注:mysql中處理字符串時,默認第一個字符下標為1,即參數position必須大于等于1

mysql> select substring('abcd',0,2);
+-----------------------+| substring('abcd',0,2) |+-----------------------+| |+-----------------------+1 row in set (0.00 sec)mysql> select substring('abcd',1,2);+-----------------------+| substring('abcd',1,2) |+-----------------------+| ab |+-----------------------+1 row in set (0.02 sec)

TRIM([[BOTH|LEADING|TRAILING] [padding] FROM]string2) //去除指定位置的指定字符
UCASE (string2 ) //轉換成大寫
RIGHT(string2,length) //取string2最后length個字符
SPACE(count) //生成count個空格

二.數學類

ABS (number2 ) //絕對值
BIN (decimal_number ) //十進制轉二進制
CEILING (number2 ) //向上取整
CONV(number2,from_base,to_base) //進制轉換
FLOOR (number2 ) //向下取整
FORMAT (number,decimal_places ) //保留小數位數
HEX (DecimalNumber ) //轉十六進制
注:HEX()中可傳入字符串,則返回其ASC-11碼,如HEX('DEF')返回4142143
也可以傳入十進制整數,返回其十六進制編碼,如HEX(25)返回19
LEAST (number , number2 [,..]) //求最小值
MOD (numerator ,denominator ) //求余
POWER (number ,power ) //求指數
RAND([seed]) //隨機數
ROUND (number [,decimals ]) //四舍五入,decimals為小數位數]
注:返回類型并非均為整數,如:
(1)默認變為整形值

mysql> select round(1.23);
+-------------+| round(1.23) |+-------------+| 1 |+-------------+1 row in set (0.00 sec)mysql> select round(1.56);+-------------+| round(1.56) |+-------------+| 2 |+-------------+1 row in set (0.00 sec)

(2)可以設定小數位數,返回浮點型數據

mysql> select round(1.567,2);
+----------------+| round(1.567,2) |+----------------+| 1.57 |+----------------+1 row in set (0.00 sec)

SIGN (number2 ) //返回符號,正負或0
SQRT(number2) //開平方


三.日期時間類

ADDTIME (date2 ,time_interval ) //將time_interval加到date2
CONVERT_TZ (datetime2 ,fromTZ ,toTZ ) //轉換時區
CURRENT_DATE ( ) //當前日期
CURRENT_TIME ( ) //當前時間
CURRENT_TIMESTAMP ( ) //當前時間戳
DATE (datetime ) //返回datetime的日期部分
DATE_ADD (date2 , INTERVAL d_value d_type ) //在date2中加上日期或時間
DATE_FORMAT (datetime ,FormatCodes ) //使用formatcodes格式顯示datetime
DATE_SUB (date2 , INTERVAL d_value d_type ) //在date2上減去一個時間
DATEDIFF (date1 ,date2 ) //兩個日期差
DAY (date ) //返回日期的天
DAYNAME (date ) //英文星期
DAYOFWEEK (date ) //星期(1-7) ,1為星期天
DAYOFYEAR (date ) //一年中的第幾天
EXTRACT (interval_name FROM date ) //從date中提取日期的指定部分
MAKEDATE (year ,day ) //給出年及年中的第幾天,生成日期串
MAKETIME (hour ,minute ,second ) //生成時間串
MONTHNAME (date ) //英文月份名
NOW ( ) //當前時間
SEC_TO_TIME (seconds ) //秒數轉成時間
STR_TO_DATE (string ,format ) //字串轉成時間,以format格式顯示
TIMEDIFF (datetime1 ,datetime2 ) //兩個時間差
TIME_TO_SEC (time ) //時間轉秒數]
WEEK (date_time [,start_of_week ]) //第幾周
YEAR (datetime ) //年份
DAYOFMONTH(datetime) //月的第幾天
HOUR(datetime) //小時
LAST_DAY(date) //date的月的最后日期
MICROSECOND(datetime) //微秒
MONTH(datetime) //月
MINUTE(datetime) //分


附:可用在INTERVAL中的類型
DAY ,DAY_HOUR ,DAY_MINUTE ,DAY_SECOND ,HOUR ,HOUR_MINUTE ,HOUR_SECOND ,MINUTE ,MINUTE_SECOND,MONTH ,SECOND ,YEAR

 MySql存儲過程和觸發器
1.創建存儲過程

DELIMITER //DROP PROCEDURE IF EXISTS `PROC_TEST`//CREATE PROCEDURE `PROC_TEST`(TABLE_NAME VARCHAR(20),NUM INT)BEGIN  SELECT * FROM TABLE_NAME LIMIT NUM;END//DELIMITER ;

調用存儲過程:

CALL PROC_TEST('USER',20);

刪除存儲過程:

DROP PROCUDURE productpricing

2.創建觸發器
~~語法~~
CREATE TRIGGER <觸發器名稱> --觸發器必須有名字,最多64個字符,可能后面會附有分隔符.它和MySQL中其他對象的命名方式基本相象.
{ BEFORE | AFTER } --觸發器有執行的時間設置:可以設置為事件發生前或后。
{ INSERT | UPDATE | DELETE } --同樣也能設定觸發的事件:它們可以在執行insert、update或delete的過程中觸發。
ON <表名稱> --觸發器是屬于某一個表的:當在這個表上執行插入、 更新或刪除操作的時候就導致觸發器的激活. 我們不能給同一張表的同一個事件安排兩個觸發器。
FOR EACH ROW --觸發器的執行間隔:FOR EACH ROW子句通知觸發器 每隔一行執行一次動作,而不是對整個表執行一次。
<觸發器SQL語句> --觸發器包含所要觸發的SQL語句:這里的語句可以是任何合法的語句, 包括復合語句,但是這里的語句受的限制和函數的一樣。

--你必須擁有相當大的權限才能創建觸發器(CREATE TRIGGER),如果你已經是Root用戶,那么就足夠了。這跟SQL的標準有所不同。
 
創建觸發器:t_afterinsert_on_tab1
 
作用:增加tab1表記錄后自動將記錄增加到tab2表中
 

DROP TRIGGER IF EXISTS `t_afterinsert_on_tab1`; CREATE TRIGGER t_afterinsert_on_tab1 AFTER INSERT ON `tab1` FOR EACH ROW BEGIN   insert into tab2(tab2_id) values(new.tab1_id); END;

創建觸發器:t_afterdelete_on_tab1
作用:刪除tab1表記錄后自動將tab2表中對應的記錄刪去

DROP TRIGGER IF EXISTS `t_afterdelete_on_tab1`; CREATE TRIGGER `t_afterdelete_on_tab1` AFTER DELETE ON `tab1` FOR EACH ROW BEGIN   delete from `tab2` where tab2_id=old.tab1_id; END;

刪除觸發器:
 

DROP TRIGGER [schema_name.]trigger_name;


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91理论片午午论夜理片久久| 亚洲综合在线做性| 欧美一区亚洲一区| 欧美激情精品久久久久久久变态| 欧美精品激情blacked18| 久久精视频免费在线久久完整在线看| 日韩在线观看免费全集电视剧网站| 亚洲欧美制服丝袜| 91精品国产91久久久久久久久| 最近2019中文免费高清视频观看www99| 色综合导航网站| 国模精品系列视频| 久久久久久久香蕉网| 精品久久久久久久久中文字幕| 亚洲少妇中文在线| 欧美风情在线观看| 亚洲精品二三区| 久久人人看视频| 亚洲最新av网址| 日韩美女在线观看| 中文字幕无线精品亚洲乱码一区| 色一情一乱一区二区| 日韩av综合中文字幕| 久久久久久综合网天天| 久久久亚洲国产天美传媒修理工| 国产精品国产三级国产aⅴ浪潮| 高清一区二区三区四区五区| 国产成人aa精品一区在线播放| 精品国产一区二区三区久久狼5月| 欧美亚洲国产成人精品| 国产精品入口免费视频一| 91地址最新发布| 欧美一级高清免费播放| 欧美精品videos| 欧美日韩亚洲一区二区三区| 亚洲国产欧美自拍| 欧美性猛交xxxx黑人| 亚洲精品国产精品自产a区红杏吧| 亚洲精品久久久一区二区三区| 日韩视频在线一区| 日韩精品极品视频免费观看| 国产精品69久久久久| 国产精品美女久久久久久免费| 久久亚洲精品成人| 亚洲理论电影网| 浅井舞香一区二区| 亚洲丁香婷深爱综合| 国产精品免费久久久| 国产精品高潮呻吟久久av黑人| 欧美最猛性xxxxx亚洲精品| 欧美另类高清videos| 日韩一区二区欧美| 精品久久久久久亚洲精品| 尤物yw午夜国产精品视频| 97在线观看免费高清| 欧美xxxx做受欧美.88| 国产精品视频内| 亚洲欧美精品在线| 国产精品视频一区二区三区四| 97成人精品区在线播放| 欧美激情一二区| 久久久久久一区二区三区| 国产精品久久一| 91精品久久久久久久久久入口| 日韩中文字幕视频在线| 丝袜情趣国产精品| 国产亚洲欧美另类中文| 久久五月天综合| 国产成人avxxxxx在线看| 欧美成人h版在线观看| 欧美成人免费va影院高清| 国产一区欧美二区三区| 国模视频一区二区| 岛国视频午夜一区免费在线观看| 欧美成人在线影院| 日韩欧美一区二区三区久久| 综合网中文字幕| 欧美xxxx做受欧美| 国产精品狠色婷| 精品一区二区三区四区| 国产精品观看在线亚洲人成网| 日本免费久久高清视频| 日韩av影视综合网| 日韩专区在线播放| 亚洲成av人片在线观看香蕉| 欧美在线观看网址综合| 亚洲欧美日韩国产成人| 成人午夜高潮视频| 欧美日韩亚洲成人| 欧美交受高潮1| 91久久久久久久久久久久久| 亚洲天堂网在线观看| 亚洲精品按摩视频| 欧洲成人免费aa| 国产精品免费一区二区三区都可以| 国产欧美一区二区三区视频| 国产专区精品视频| 午夜精品久久久久久久99热浪潮| 国产成人精品免费视频| 亚洲国产成人久久| 国产精品麻豆va在线播放| 亚洲一区二区三区香蕉| 91精品国产色综合久久不卡98| 国产精品视频在线观看| 九色精品美女在线| 亚洲精品免费在线视频| 成人精品网站在线观看| 欧美精品一区三区| 欧美激情视频网| 亚洲高清不卡av| 亚洲第一男人天堂| 国产亚洲视频在线观看| 欧美老女人性视频| 国产精品夜间视频香蕉| 亚洲国产中文字幕在线观看| 国产69精品久久久久99| 欧美性猛交xxxx免费看| 国产日韩欧美综合| 国产成+人+综合+亚洲欧美丁香花| 国产精品福利无圣光在线一区| 欧美放荡办公室videos4k| 欧美区二区三区| 久国内精品在线| 欧美成人免费全部观看天天性色| 欧美极品美女视频网站在线观看免费| 91香蕉国产在线观看| 在线看日韩av| 日韩美女视频中文字幕| 日韩高清a**址| 性欧美长视频免费观看不卡| 久久精品成人动漫| 久久av资源网站| 久久亚洲精品一区| 成人有码在线播放| 欧美激情精品久久久久| 精品久久久久久国产| 欧美在线亚洲一区| 日韩天堂在线视频| 欧洲一区二区视频| 成人免费网站在线看| 久久久国产精彩视频美女艺术照福利| 欧美丰满少妇xxxx| 国内精品视频一区| 91av在线视频观看| 欧美日本国产在线| 神马久久桃色视频| 91久久在线播放| 国产精品a久久久久久| 深夜福利国产精品| 国产日韩中文字幕在线| 精品国产福利在线| 成人中文字幕在线观看| 亚洲sss综合天堂久久| 亚洲天堂视频在线观看| 亚洲一级免费视频| 亚洲电影第1页| 国产亚洲人成a一在线v站| 成人观看高清在线观看免费| 日本老师69xxx| 日本三级久久久| 夜夜躁日日躁狠狠久久88av| 国产99视频在线观看| 成人精品视频99在线观看免费| 69国产精品成人在线播放|