国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

MySql 5.0基礎(chǔ)知識(shí)和常用命令詳細(xì)介紹

2024-07-24 12:40:29
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
CREATE PROCEDURE 建立一個(gè)存放在MySQL數(shù)據(jù)庫(kù)的表格的存儲(chǔ)過(guò)程。   CREATE FUNCTION 建立一個(gè)用戶自定義的函數(shù),尤其是返回?cái)?shù)據(jù)的存儲(chǔ)過(guò)程。   ALTER PROCEDURE 更改用CREATE PROCEDURE 建立的預(yù)先指定的存儲(chǔ)過(guò)程,其不會(huì)影響相關(guān)存儲(chǔ)過(guò)程或存儲(chǔ)功能。.   ALTER FUNCTION 更改用CREATE FUNCTION 建立的預(yù)先指定的存儲(chǔ)過(guò)程,其不會(huì)影響相關(guān)存儲(chǔ)過(guò)程或存儲(chǔ)功能。.   DROP PROCEDURE 從MySQL的表格中刪除一個(gè)或多個(gè)存儲(chǔ)過(guò)程。   DROP FUNCTION 從MySQL的表格中刪除一個(gè)或多個(gè)存儲(chǔ)函數(shù)。   SHOW CREATE PROCEDURE 返回使用CREATE PROCEDURE 建立的預(yù)先指定的存儲(chǔ)過(guò)程的文本。這一聲明是SQL:2003規(guī)范的一個(gè)MySQL擴(kuò)展。   SHOW CREATE FUNCTION 返回使用CREATE  FUNCTION建立的預(yù)先指定的存儲(chǔ)過(guò)程的文本。這一聲明是SQL:2003規(guī)范的一個(gè)MySQL擴(kuò)展。   SHOW PROCEDURE STATUS 返回一個(gè)預(yù)先指定的存儲(chǔ)過(guò)程的特性,包括名稱、類型、建立者、建立日期、以及更改日期。這一聲明是SQL:2003規(guī)范的一個(gè)MySQL擴(kuò)展。   SHOW FUNCTION STATUS 返回一個(gè)預(yù)先指定的存儲(chǔ)函數(shù)的特性,包括名稱、類型、建立者、建立日期、以及更改日期。這一聲明是SQL:2003規(guī)范的一個(gè)MySQL擴(kuò)展。   CALL 調(diào)用一個(gè)使用CREATE PROCEDURE建立的預(yù)先指定的存儲(chǔ)過(guò)程。   BEGIN ... END 包含一組執(zhí)行的多聲明。   DECLARE 用于指定當(dāng)?shù)刈兞俊h(huán)境、處理器,以及指針。   SET 用于更改當(dāng)?shù)睾腿址?wù)器變量的值。   SELECT ... INTO 用于存儲(chǔ)顯示變量的縱列。   OPEN 用于打開一個(gè)指針。   FETCH 使用特定指針來(lái)獲得下一列。   CLOSE 用于關(guān)閉和打開指針。   IF 一個(gè)An if-then-else-end if 聲明。   CASE ... WHEN 一個(gè) case聲明的結(jié)構(gòu)   LOOP 一個(gè)簡(jiǎn)單的循環(huán)結(jié)構(gòu);可以使用LEAVE 語(yǔ)句來(lái)退出。   LEAVE 用于退出IF,CASE,LOOP,REPEAT以及WHILE 語(yǔ)句。   ITERATE 用于重新開始循環(huán)。   REPEAT 在結(jié)束時(shí)測(cè)試的循環(huán)。   WHILE 在開始時(shí)測(cè)試的循環(huán)。   RETURNS 返回一個(gè)存儲(chǔ)過(guò)程的值。       MySQL 5.0支持存儲(chǔ)過(guò)程語(yǔ)句。       一.創(chuàng)建存儲(chǔ)過(guò)程   1.基本語(yǔ)法:   create procedure sp_name() begin ......... end   2.參數(shù)傳遞   二.調(diào)用存儲(chǔ)過(guò)程   1.基本語(yǔ)法:call sp_name() 注意:存儲(chǔ)過(guò)程名稱后面必須加括號(hào),哪怕該存儲(chǔ)過(guò)程沒(méi)有參數(shù)傳遞   三.刪除存儲(chǔ)過(guò)程   1.基本語(yǔ)法: drop procedure sp_name// 2.注意事項(xiàng) (1)不能在一個(gè)存儲(chǔ)過(guò)程中刪除另一個(gè)存儲(chǔ)過(guò)程,只能調(diào)用另一個(gè)存儲(chǔ)過(guò)程   四.區(qū)塊,條件,循環(huán)   1.區(qū)塊定義,常用 begin ...... end; 也可以給區(qū)塊起別名,如: lable:begin ........... end lable; 可以用leave lable;跳出區(qū)塊,執(zhí)行區(qū)塊以后的代碼 2.條件語(yǔ)句   if 條件 then statement else statement end if;   3.循環(huán)語(yǔ)句 (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ù)庫(kù)中所有存儲(chǔ)的存儲(chǔ)過(guò)程基本信息,包括所屬數(shù)據(jù)庫(kù),存儲(chǔ)過(guò)程名稱,創(chuàng)建時(shí)間等 2.show create procedure sp_name   存儲(chǔ)過(guò)程創(chuàng)建語(yǔ)法:   CREATE PROCEDURE procedure_name ([parameter[,...])   [LANGUAGE SQL]   [ [NOT] DETERMINISTIC ]   [{CONTAINS SQL|MODIFIES SQL DATA|READS SQL DATA|NO SQL}]   [SQL SECURITY {DEFINER|INVOKER} ]   [COMMENT comment_string]   procedure_statements     可用SHOW PROCEDURE STATUS 或 SHOW CREATE PROCEDURE 來(lái)查看存儲(chǔ)過(guò)程信息 另,系統(tǒng)表INFORMATION_SCHEMA.ROUTINES也包含了存儲(chǔ)過(guò)程的一些信息 同樣地,函數(shù)也可以使用同樣方式查看(SHOW FUNCTION STATUS)   函數(shù)的創(chuàng)建     CREATE FUNCTION function_name (parameter[,...])   RETURNS datatype   [LANGUAGE SQL]   [ [NOT] DETERMINISTIC ]   [ {CONTAINS SQL | NO SQL | MODIFIES SQL DATA | READS SQL DATA} ]   [ SQL SECURITY {DEFINER|INVOKER} ]   [ COMMENT comment_string ]   語(yǔ)句體   函數(shù)與存儲(chǔ)過(guò)程基本一樣,其區(qū)別主要有: 1、  要使用RETURNS指定返回類型 2、  函數(shù)必須返回值,且在語(yǔ)句體中使用RETURN返回(注意:指定返回類型用RETURNS,返回值用RETURN) 3、  參數(shù)不區(qū)分IN,OUT,全部為IN類形   例: CREATE FUNCTION cust_status(in_status CHAR(1))     RETURNS VARCHAR(20) BEGIN DECLARE long_status VARCHAR(20);     IF in_status="O" THEN SET long_status="Overdue";     ELSEIF in_status="U" THEN SET long_status="Up to date";     ELSEIF in_status="N" THEN SET long_status="new";     END IF;     RETURN(long_status); END;   調(diào)用: SELECT cust_status('O');   觸發(fā)器   CREATE [DEFINER={user|CURRENT_USER}] TRIGGER trigger_name   {BEFORE|AFTER} {UPDATE|INSERT|DELETE}   ON table_name   FOR EACH ROW   trigger_statements     意義:當(dāng)對(duì)表table_name執(zhí)行update,insert,delete操作之前(before)或之后(after)時(shí)觸發(fā)語(yǔ)句trigger_statements操作   例: mysql> CREATE TRIGGER account_balance_au AFTER UPDATE ON account_balance FOR EACH ROW BEGIN   DECLARE dummy INT;   IF NEW.balance<0 THEN      SET NEW.balance=NULL;   END IF; END   上述觸發(fā)器表示:當(dāng)更新表account_balance之后,如果更新的值balance小于0,則將它改為NULL, 注:如果為OLD.balance則表示更新前的原值
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 珠海市| 田阳县| 浦北县| 金沙县| 郁南县| 资阳市| 德钦县| 嘉禾县| 梅河口市| 余干县| 四川省| 阜新| 高邮市| 东阿县| 陕西省| 炉霍县| 孝昌县| 益阳市| 日照市| 兰溪市| 大兴区| 沙坪坝区| 县级市| 天等县| 成安县| 新沂市| 连平县| 高雄县| 浏阳市| 桐梓县| 石门县| 平江县| 文登市| 胶州市| 赫章县| 丰县| 池州市| 南溪县| 新竹县| 海门市| 临沂市|