欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL與存儲過程的相關(guān)資料

 更新時間:2007年03月09日 00:00:00   投稿:mdxy-dxy  
這篇文章主要介紹了MySQL與存儲過程的相關(guān)資料,需要的朋友可以參考下

MySQL是“世界上最為流行的開放性數(shù)據(jù)庫”,至少對于MySQL Web站點會這樣。但無論MySQL如此流行,很多公司都對MySQL的使用抱有抵觸情緒。這種現(xiàn)象來自幾個原因,其中有些人錯誤地認為開放性源代碼只不過相當(dāng)于小孩子的積木游戲,而另一些人認為任何免費的東西都不會是好東西。也許這些想法都是誤解,然而有一種抱怨卻是合理的,即與其它對應(yīng)的產(chǎn)品不一樣,比如Oracle或者 DB2,MySQL不能夠支持存儲過程(stored procedures)。 
  
最新的MySQL 5.0能夠支持存儲過程。如果你對存儲過程還沒有熟悉,那么你可以認為它們只是存儲在數(shù)據(jù)庫服務(wù)器端的SQL命令和程序邏輯的集合。這些存儲過程可以被應(yīng)用程序調(diào)用,使得不同技術(shù)水平的開發(fā)人員能夠建立自己的SQL。
優(yōu)點 存儲過程能夠允許絕大部分的數(shù)據(jù)庫訪問邏輯與程序邏輯分離開來。使用存儲過程的其中一個間接的優(yōu)點是,程序的代碼變得更加小巧和容易理解。存儲過程的另一優(yōu)點是,SQL可以被預(yù)先編譯,由此提高了程序的速度。因為存儲過程包含程序邏輯,可以在數(shù)據(jù)庫服務(wù)器端更多地執(zhí)行更多的處理。同樣,當(dāng)執(zhí)行一個n-tier程序時,存儲過程被用于將數(shù)據(jù)層與服務(wù)層分離開來。
安全性也是存儲過程的另一優(yōu)點。當(dāng)不能直接訪問表格時,程序可以將執(zhí)行優(yōu)先級別分配給存儲過程。不幸的是,在這時候,MySQL不支持“授予執(zhí)行(GRANT EXECUTE)”。這就意味著除非程序具有訪問表格的權(quán)限,否則調(diào)用訪問相同表格的一個存儲過程也是不行的。
標準 與Oracle或者微軟的相關(guān)數(shù)據(jù)庫不一樣,MySQL和IBM的DB2能夠遵循存儲程序的SQL:2003語法。在理論上這意味著,如果數(shù)據(jù)庫結(jié)構(gòu)相同,存儲程序可以在不同數(shù)據(jù)庫中使用。
可支持的SQL聲明 雖然MySQL不能支持存儲程序,但它卻可以完成很多任務(wù),如表A所示。除此之外,MySQL的stored procedure documentation(存儲過程文檔)描述了可用于Oracle的PL/SQL和SQL Server的 T-SQL的很多兼容特性。我對存儲過程支持的印象是,它執(zhí)行比較緩慢,目的是避免任何影響大型軟件開發(fā)工程的步驟。
表A

聲明

描述

CREATE PROCEDURE

建立一個存放在MySQL數(shù)據(jù)庫的表格的存儲過程。

CREATE FUNCTION

建立一個用戶自定義的函數(shù),尤其是返回數(shù)據(jù)的存儲過程。

ALTER PROCEDURE

更改用CREATE PROCEDURE 建立的預(yù)先指定的存儲過程,其不會影響相關(guān)存儲過程或存儲功能。.

ALTER FUNCTION

更改用CREATE FUNCTION 建立的預(yù)先指定的存儲過程,其不會影響相關(guān)存儲過程或存儲功能。.

DROP PROCEDURE

從MySQL的表格中刪除一個或多個存儲過程。

DROP FUNCTION

從MySQL的表格中刪除一個或多個存儲函數(shù)。

SHOW CREATE PROCEDURE

返回使用CREATE PROCEDURE 建立的預(yù)先指定的存儲過程的文本。這一聲明是SQL:2003規(guī)范的一個MySQL擴展。

SHOW CREATE FUNCTION

返回使用CREATE  FUNCTION建立的預(yù)先指定的存儲過程的文本。這一聲明是SQL:2003規(guī)范的一個MySQL擴展。

SHOW PROCEDURE STATUS

返回一個預(yù)先指定的存儲過程的特性,包括名稱、類型、建立者、建立日期、以及更改日期。這一聲明是SQL:2003規(guī)范的一個MySQL擴展。

SHOW FUNCTION STATUS

返回一個預(yù)先指定的存儲函數(shù)的特性,包括名稱、類型、建立者、建立日期、以及更改日期。這一聲明是SQL:2003規(guī)范的一個MySQL擴展。

CALL

調(diào)用一個使用CREATE PROCEDURE建立的預(yù)先指定的存儲過程。

BEGIN ... END

包含一組執(zhí)行的多聲明。

DECLARE

用于指定當(dāng)?shù)刈兞?、環(huán)境、處理器,以及指針。

SET

用于更改當(dāng)?shù)睾腿址?wù)器變量的值。

SELECT ... INTO

用于存儲顯示變量的縱列。

OPEN

用于打開一個指針。

FETCH

使用特定指針來獲得下一列。

CLOSE

用于關(guān)閉和打開指針。

IF

一個An if-then-else-end if 聲明。

CASE ... WHEN

一個 case聲明的結(jié)構(gòu)

LOOP

一個簡單的循環(huán)結(jié)構(gòu);可以使用LEAVE 語句來退出。

LEAVE

用于退出IF,CASE,LOOP,REPEAT以及WHILE 語句。

ITERATE

用于重新開始循環(huán)。

REPEAT

在結(jié)束時測試的循環(huán)。

WHILE

在開始時測試的循環(huán)。

RETURNS

返回一個存儲過程的值。

MySQL 5.0支持存儲過程語句。

重要的是,請記住當(dāng)前的MySQL對存儲過程的支持沒有Oracle,SQL Server或者DB2的成熟。同樣記住,具有少量的特性但卻操作良好,這比具有大量特性但卻錯誤百出的強得多,這一點更加重要。我知道這是一個比較奇怪的概念,但社區(qū)里的很多人有時候卻被其它一些概念所迷惑。

相關(guān)文章

  • mysql數(shù)據(jù)自增ID為2的解決方案

    mysql數(shù)據(jù)自增ID為2的解決方案

    這篇文章主要介紹了mysql數(shù)據(jù)自增ID為2的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • mysql非主鍵自增長用法實例分析

    mysql非主鍵自增長用法實例分析

    這篇文章主要介紹了mysql非主鍵自增長用法,結(jié)合實例形式分析了MySQL非主鍵自增長的基本設(shè)置、使用方法與操作注意事項,需要的朋友可以參考下
    2020-02-02
  • MySQL 8.2 Command Line Client打開時一閃而過閃退問題的解決

    MySQL 8.2 Command Line Client打開時一閃而過閃退問題

    MySQL8.2安裝成功后,發(fā)現(xiàn)打開MySQL 8.0 Command Line Client時出現(xiàn)一閃而過,打不開的情況,所以下面這篇文章主要給大家介紹了關(guān)于MySQL 8.2 Command Line Client打開時一閃而過閃退問題的解決,需要的朋友可以參考下
    2024-01-01
  • MySQL 8.0 新特性之哈希連接(Hash Join)

    MySQL 8.0 新特性之哈希連接(Hash Join)

    MySQL 開發(fā)組于 2019 年 10 月 14 日 正式發(fā)布了 MySQL 8.0.18 GA 版本,帶來了一些新特性和增強功能。這篇文章主要介紹了MySQL 8.0 新特性之哈希連接(Hash Join),需要的朋友可以參考下
    2019-10-10
  • MySQL定時任務(wù)不能正常執(zhí)行的原因分析及解決方法

    MySQL定時任務(wù)不能正常執(zhí)行的原因分析及解決方法

    大家好,本篇文章主要講的是MySQL定時任務(wù)不能正常執(zhí)行的原因分析及解決方法,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • MySQL與PHP的基礎(chǔ)與應(yīng)用專題之?dāng)?shù)據(jù)查詢

    MySQL與PHP的基礎(chǔ)與應(yīng)用專題之?dāng)?shù)據(jù)查詢

    MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL?AB?公司開發(fā),屬于?Oracle?旗下產(chǎn)品。MySQL?是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,本系列將帶你掌握php與mysql的基礎(chǔ)應(yīng)用,本篇從數(shù)據(jù)的查詢開始
    2022-02-02
  • MySQL優(yōu)化中B樹索引知識點總結(jié)

    MySQL優(yōu)化中B樹索引知識點總結(jié)

    在本文里我們給大家整理了關(guān)于MySQL優(yōu)化中B樹索引的相關(guān)知識點內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2019-02-02
  • MySQL數(shù)據(jù)庫用戶權(quán)限管理

    MySQL數(shù)據(jù)庫用戶權(quán)限管理

    這篇文章主要介紹了MySQL數(shù)據(jù)庫用戶權(quán)限管理,文章主要內(nèi)容就是在不同的項目中,給不同的角色(開發(fā)者)不同的操作權(quán)限,保證數(shù)據(jù)庫數(shù)據(jù)的安全,需要的朋友可以參考一下
    2022-06-06
  • 深入分析MySQL Sending data查詢慢問題

    深入分析MySQL Sending data查詢慢問題

    給大家深入分析一下MySQL Sending data表查詢慢的問題,并給出了詳細的解決方案,一起來參考下。
    2017-12-12
  • 解決MySQL登錄報錯1045-Access?denied?for?user?'root'@' '(using?password:YES)

    解決MySQL登錄報錯1045-Access?denied?for?user?'root'@

    這篇文章主要給大家介紹了關(guān)于解決MySQL登錄報錯1045-Access?denied?for?user?‘root‘@‘‘(using?password:YES)的相關(guān)資料,文中一步步將解決的辦法介紹的非常詳細,需要的朋友可以參考下
    2023-07-07

最新評論