牛腩新聞發布系統(2)使用預存程序查詢表

來源:互聯網
上載者:User

          很多人接觸資料庫,從資料庫表中查記錄最早應該是利用SQL語句字串,這也是我們開始操作資料庫表使用的SQL語言,那時也看過預存程序,只是不理解預存程序什麼意思,現在也只是簡單應用,瞭解一點點而已。

          形象一些,預存程序就是完成一個特定功能的東西,和函數差不多,是一段程式碼的集合。

         下面是通過在一個系統中的具體應用來協助學習、掌握、理解預存程序。同時學習也是一步一步逐漸深入的學習,從瞭解、認識、理解、應用的一個過程,學習的知識在於應用,也只有會靈活應用了,才是自己的。

         預存程序概念:

         預存程序(Stored Procedure)是一組為了完成特定功能的SQL語句集,經編譯後儲存在資料庫中。使用者通過指定預存程序的名字並給出參數(如果該預存程序帶有參數)來執行它。         建立語句:                  

        1  例如:建立一個預存程序,從“新聞類表”category、“新聞表”news中查詢最新的新聞若干條新聞(上一篇部落格中已有這兩個表的描述)

      

            上面代碼是通過外部索引鍵關聯從category 、news兩個表中查詢最新的新聞,n 、c 分別為表起的別名(alias)。

            紅色框表示內串連,此外還有交叉聯結、外聯結(左向外聯結,右向外聯結,完整外聯結)等類型,常用的是內串連,

           內聯結的格式為:                                              

           資料表1
 inner join  資料表2  on  聯結運算式

           指定返回兩個表中所有匹配的行。

        2  建立一個根據評論數,查詢熱點新聞的預存程序。

        

        想要應用預存程序本質上還是要熟練運用SQL查詢語句,文法如下:

       

        方框中的是不經常用但很重要的查詢關鍵字,其含義如下:

        ALL:指明查詢結果中可以顯示值相同的列ALL是系統預設的        DISTINCT:指明查詢結果中如果有值相同的列,則只顯示其中的一列。對DISTINCT選項來說,Null
值被認為是相同的值       TOP n  [PERCENT]:指定返回查詢結果的前n行資料,如果PERCENT關鍵字指定的話,則返回查詢結果的前百分之n行資料。

       group_by_expression:指明分組條件group_by_expression通常是一個列名,但不能是列的別名。

      ORDERBY子句指定查詢結果的排序方式。

      ASC(ascending):指明查詢結果按升序排列這是系統預設值      DESC(descending):指明查詢結果按降序排列


       在大點的資料庫系統中,預存程序具有很重要的作用。就本質而言它是SQL語句和流程式控制制語句的集合。預存程序在運算時產生執行方式,所以以後對其再運行時其執行速度很快。

       我們可以多多運用,尤其是在Web-Server之間執行時,速度會快一些。

       什麼時候使用預存程序比較合適?




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.