<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一.創(chuàng)建存儲過程

    1.基本語法:

     

    create procedure sp_name()
    begin
    ………
    end

    2.參數(shù)傳遞

    二.調(diào)用存儲過程

    1.基本語法:call sp_name()
    注意:存儲過程名稱后面必須加括號,哪怕該存儲過程沒有參數(shù)傳遞

    三.刪除存儲過程

    1.基本語法:
    drop procedure sp_name//
    2.注意事項
    (1)不能在一個存儲過程中刪除另一個存儲過程,只能調(diào)用另一個存儲過程

    四.區(qū)塊,條件,循環(huán)

    1.區(qū)塊定義,常用
    begin
    ……
    end;
    也可以給區(qū)塊起別名,如:
    lable:begin
    ………..
    end lable;
    可以用leave lable;跳出區(qū)塊,執(zhí)行區(qū)塊以后的代碼
    2.條件語句

     

    if 條件 then
    statement
    else
    statement
    end if;

    3.循環(huán)語句
    (1).while循環(huán)

    [label:] WHILE expression DO

    statements

    END WHILE [label] ;

     

    (2).loop循環(huán)

     

    [label:] LOOP

    statements

    END LOOP [label];

     

    (3).repeat until循環(huán)

     

    [label:] REPEAT

    statements

    UNTIL expression

    END REPEAT [label] ;

     

    五.其他常用命令

    1.show procedure status
    顯示數(shù)據(jù)庫中所有存儲的存儲過程基本信息,包括所屬數(shù)據(jù)庫,存儲過程名稱,創(chuàng)建時間等
    2.show create procedure sp_name
    顯示某一個存儲過程的詳細(xì)信息

     

    mysql存儲過程中要用到的運算符

    mysql存儲過程學(xué)習(xí)總結(jié)-操作符

    算術(shù)運算符

    +     加   SET var1=2+2;       4
    -     減   SET var2=3-2;       1
    *     乘   SET var3=3*2;       6
    /     除   SET var4=10/3;      3.3333
    DIV   整除 SET var5=10 DIV 3;  3
    %     取模 SET var6=10%3 ;     1

    比較運算符

    >            大于 1>2 False
    <            小于 2<1 False
    <=           小于等于 2<=2 True
    >=           大于等于 3>=2 True
    BETWEEN      在兩值之間 5 BETWEEN 1 AND 10 True
    NOT BETWEEN  不在兩值之間 5 NOT BETWEEN 1 AND 10 False
    IN           在集合中 5 IN (1,2,3,4) False
    NOT IN       不在集合中 5 NOT IN (1,2,3,4) True
    =            等于 2=3 False
    <>, !=       不等于 2<>3 False
    <=>          嚴(yán)格比較兩個NULL值是否相等 NULL<=>NULL True
    LIKE         簡單模式匹配 "Guy Harrison" LIKE "Guy%" True
    REGEXP       正則式匹配 "Guy Harrison" REGEXP "[Gg]reg" False
    IS NULL      為空 0 IS NULL False
    IS NOT NULL  不為空 0 IS NOT NULL True

    邏輯運算符

    (AND)






     

     

    AND

    TRUE

    FALSE

    NULL

    TRUE

    TRUE

    FALSE

    NULL

    FALSE

    FALSE

    FALSE

    NULL

    NULL

    NULL

    NULL

    NULL

    或(OR)

     

     

    OR

    TRUE

    FALSE

    NULL

    TRUE

    TRUE

    TRUE

    TRUE

    FALSE

    TRUE

    FALSE

    NULL

    NULL

    TRUE

    NULL

    NULL

    異或(XOR)

     

     

    XOR

    TRUE

    FALSE

    NULL

    TRUE

    FALSE

    TRUE

    NULL

    FALSE

    TRUE

    FALSE

    NULL

    NULL

    NULL

    NULL

    NULL

    位運算符

    |   位或
    &   位與
    <<  左移位
    >>  右移位
    ~   位非(單目運算,按位取反)

     

    mysq存儲過程中常用的函數(shù),字符串類型操作,數(shù)學(xué)類,日期時間類。

    mysql存儲過程基本函數(shù)

    一.字符串類 

    CHARSET(str) //返回字串字符集
    CONCAT (string2  [,... ]) //連接字串
    INSTR (string ,substring ) //返回substring首次在string中出現(xiàn)的位置,不存在返回0
    LCASE (string2 ) //轉(zhuǎn)換成小寫
    LEFT (string2 ,length ) //從string2中的左邊起取length個字符
    LENGTH (string ) //string長度
    LOAD_FILE (file_name ) //從文件讀取內(nèi)容
    LOCATE (substring , string  [,start_position ] ) 同INSTR,但可指定開始位置
    LPAD (string2 ,length ,pad ) //重復(fù)用pad加在string開頭,直到字串長度為length
    LTRIM (string2 ) //去除前端空格
    REPEAT (string2 ,count ) //重復(fù)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中處理字符串時,默認(rèn)第一個字符下標(biāo)為1,即參數(shù)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 ) //轉(zhuǎn)換成大寫
    RIGHT(string2,length) //取string2最后length個字符
    SPACE(count) //生成count個空格 

    二.數(shù)學(xué)類

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

     

    注:返回類型并非均為整數(shù),如:
    (1)默認(rèn)變?yōu)檎沃?br /> 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)可以設(shè)定小數(shù)位數(shù),返回浮點型數(shù)據(jù)
    mysql> select round(1.567,2);
    +—————-+
    | round(1.567,2) |
    +—————-+
    |           1.57 |
    +—————-+
    1 row in set (0.00 sec)

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

     
    三.日期時間類
     

    ADDTIME (date2 ,time_interval ) //將time_interval加到date2
    CONVERT_TZ (datetime2 ,fromTZ ,toTZ ) //轉(zhuǎn)換時區(qū)
    CURRENT_DATE (  ) //當(dāng)前日期
    CURRENT_TIME (  ) //當(dāng)前時間
    CURRENT_TIMESTAMP (  ) //當(dāng)前時間戳
    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 (  ) //當(dāng)前時間
    SEC_TO_TIME (seconds ) //秒數(shù)轉(zhuǎn)成時間
    STR_TO_DATE (string ,format ) //字串轉(zhuǎn)成時間,以format格式顯示
    TIMEDIFF (datetime1 ,datetime2 ) //兩個時間差
    TIME_TO_SEC (time ) //時間轉(zhuǎn)秒數(shù)]
    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 

     

    posted on 2008-09-23 23:23 李威威 閱讀(165) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
     
    主站蜘蛛池模板: 亚洲国产成人资源在线软件| 国产vA免费精品高清在线观看| 国产在线观看免费视频软件 | 亚洲精品美女久久久久9999| 狼色精品人妻在线视频免费| 成视频年人黄网站免费视频| 亚洲成AV人片在线观看| 特级毛片在线大全免费播放| 免费做爰猛烈吃奶摸视频在线观看 | 亚洲欧洲日产国码无码久久99 | 人人狠狠综合久久亚洲婷婷| 亚洲AV永久精品爱情岛论坛| 一本色道久久综合亚洲精品蜜桃冫| 99久久婷婷免费国产综合精品| 国产大片91精品免费观看男同| 亚洲国产人成在线观看| 久久青草91免费观看| 久久久无码精品亚洲日韩软件 | 麻豆国产人免费人成免费视频| 精品亚洲成a人片在线观看| 国产做国产爱免费视频| 国产中文字幕免费观看| 亚洲综合色婷婷在线观看| **俄罗斯毛片免费| 亚洲成色在线影院| 日韩精品无码免费专区午夜不卡| 免费国产精品视频| 亚洲Av无码国产一区二区| 欧美日韩国产免费一区二区三区| 亚洲黄色片在线观看| 久9这里精品免费视频| 亚洲精品无码AV人在线播放| 人禽伦免费交视频播放| 免费观看日本污污ww网站一区| 亚洲日韩精品无码专区加勒比☆ | 无码精品人妻一区二区三区免费看 | 成全动漫视频在线观看免费高清版下载 | 国产亚洲一区二区三区在线不卡 | 久久精品国产69国产精品亚洲 | 日韩人妻无码精品久久免费一| 亚洲精品无码乱码成人|