存儲過程,自總結.doc_第1頁
存儲過程,自總結.doc_第2頁
存儲過程,自總結.doc_第3頁
存儲過程,自總結.doc_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

存儲過程 create procedure pro1 (OUT s int) BEGIN SELECT count(*) INTO s FROM table1 END1. 特點:l 用戶能夠重用代碼和更改控制:控制,數據庫結構,安全權限 l 能夠獲得快速的性能:可以處理復雜的條件語句和sqll 更容易的安全管理特性:10表不同的權限許可分配-分配該存儲過程1次l 減少了網絡通信流量:針對同一數據庫對象的多次查詢,或sql較多情況下,php每執行一次sql就要編譯一次。l 安全:通過存儲過程可以使沒有權限的用戶在控制之下間接地存取數據庫,從而保證數據的安全;可設置存儲過程的使用權限,避免sql注入破壞程序l 結合事物l 易于維護,集中控制:企業規則變更-變更存儲過程,無需變更代碼2. 存儲過程的參數類型(IN , OUT , INOUT)IN輸入參數:用于輸入參數OUT輸出參數:用于返回參數return $aINOUT輸入輸出參數:用于向存儲過程傳遞參數值,如果該值改變則返回MySQL 存儲過程 inout 參數跟 out 類似,都可以從存儲過程內部傳值給調用者。不同的是:調用者還可以通過 inout 參數傳遞值給存儲過程。3. 聲明變量,賦值DECLARE 變量名 數據類型(int) DEFAULT局部變量,這個變量可用于該語句塊的子塊中。SET a=1,b=2,c=3SELECT . INTO變量名不能與列名相同,如果相同,mysql會將其解釋為變量而非列名4. 查詢存儲過程:select name from c where db=數據庫名查看詳細:show create procedure;查看基本信息:show procedure status;5. begin_label-end_label復合語句可以被標記,必須成對出現(也許用于區分語句塊)6. 控制語句:IFEND IFCASE WHENTHENWHENTHENELSEEND CASElabel: REPEATstatement_listUNTIL search_conditionEND REPEAT label循環至search_condition為真!label: LOOP.LEAVE labelEND LOOP labelITERATE 再次循環,用于LOOP, REPEAT, 和WHILE7. 事務:start transaction-commit-rollback8. 擴展:DECLARE條件、處理程序:DECLARE條件將一個名字與一個錯誤條件相關聯,這個名字可以再隨后的DECLARE HANDLER處理語句中使用。(用于對于特殊錯誤的相應處理)游標(光標):便于某些應用程序逐行或分段處理符合sql中條件的結果集9. 字符串類CHARSET(str) /返回字串字符集CONCAT (string2 ,. ) /連接字串INSTR (string ,substring ) /返回substring首次在string中出現的位置,不存在返回0LCASE (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開頭,直到字串長度為lengthLTRIM (string2 ) /去除前端空格REPEAT (string2 ,count ) /重復count次REPLACE (str ,search_str ,replace_str ) /在str中用replace_str替換search_strRPAD (string2 ,length ,pad) /在str后用pad補充,直到長度為lengthRTRIM (string2 ) /去除后端空格STRCMP (string1 ,string2 ) /逐字符比較兩字串大小,SUBSTRING (str , position ,length ) /從str的position開始,取length個字符,注:mysql中處理字符串時,默認第一個字符下標為1,即參數position必須大于等于1TRIM(BOTH|LEADING|TRAILING padding FROMstring2) /去除指定位置的指定字符UCASE (string2 ) /轉換成大寫RIGHT(string2,length) /取string2最后length個字符SPACE(count) /生成count個空格10. 數學類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)返回19LEAST (number , number2 ,.) /求最小值MOD (numerator ,denominator ) /求余POWER (number ,power ) /求指數RAND(seed) /隨機數ROUND (number ,decimals ) /四舍五入,decimals為小數位數SIGN (number2 ) /返回符號,正負或0SQRT(number2) /開平方11. 時間日期類ADDTIME (date2 ,time_interval ) /將time_interval加到date2CONVERT_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格式顯示datetimeDATE_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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論