首頁  >  文章  >  資料庫  >  全面接觸SQL文法(1)

全面接觸SQL文法(1)

黄舟
黄舟原創
2016-12-24 17:44:10992瀏覽

SQL功能與特性
  其實,在前面的文章中,已經提及SQL指令的一些基本功能,然而,透過SQL指令,程式設計師或資料庫管理員(DBA)可以:
  (一)建立資料庫的表格。 (包含設定表格所可以使用之空間)
  (二)改變資料庫系統環境設定。
  (三)針對某個資料庫或表格,授予使用者存取權限。
  (四)對資料庫表格建立索引值。
  (五)修改資料庫表格結構。 (新建、刪除或是修改表格欄位)
  (六)對資料庫進行資料的新建。
  (七)對資料庫進行資料的刪除。
  (八)對資料庫進行資料的修改。
  (九)對資料庫進行資料的查詢。
  這幾項便是透過SQL指令可以完成的事情,看起來是不是比起「查詢」兩個字所代表的功能要多的多了呢?

  SQL語法的分類

  其實SQL指令並不是非常多,可是要把SQL用到出神入化,卻也只需要短短幾個指令便夠,因為SQL指令是針對關係型資料庫建立出來的敘事語法,所以SQL在這類資料庫中所發揮的功能非常的強,以下將針對VB常用的SQL語法基本指令加以分類介紹。在說明SQL的指令以及使用文法之前,以下將SQL做了的分類,在致上SQL文法所使用到的類型,可以說都已包含在這些類別當中。 

  第一類、屬性詞(PRedicates)

  在SQL指令中用來指明所要選擇的記錄的方式。如ALL、TOP與DISTINCT等等。

  第二類、聲明(Declaration)

  針對SQL Parameter或Parameter Query 的名稱與資料類型做聲明,如PARAMETERS的聲明等等。

  第三類、條件子句(Clause)

  在SQL的查詢中,利用一些表達式定義出查詢的條件,以縮小尋找的範圍,如WHERE。

  第四類、運算子(Operator)與操作數(Operation)

  在SQL的查詢中,與Operation共同組成表達式(Expression),如BETWEEN....AND 運算子與INNER JOIN。

  第五類、函數(Function)

  一些SQL常見的函數,像是AVG()是求算數平均數的函數。

  第六類、SQL語句(Statement)

  SQL的語句,可以說是SQL語法的主體,用來對某一個特定的資料庫發出指示,並傳回相關的數據,而SQL的語法結構,基本上可以利用下面

  的式子來表示:命令+條件子句

  例如:

  SELECT*FROM TAB WHERE TAB.NAME='A'
 SELECT*FROM TAB WHERE TAB.NAME='A'
『〟〜〟〟<。子句,其實SQL的文法並不難,只要記住這樣的一個規則,相信可以很快的了解SQL用法。

  SQL語法與指令


SELECT 語句
SELECT[predicate]{*|table.*|[table.]field [,[table.]field2[,...]]} [AS alias1 [,alias2[ ,...]]]
FROM tableexpression [,...][IN externaldatabase]
[WHERE...]
[GROUP BY...]
[HAVING...]
[ORDER BY...]
[WITH OWNERaccess OPTION] 
SELECT 語句包括下面幾個部分
predicate



如前面所述,包括了ALL,DISTINCT,DISTINCTROW,與TOP 我們可以利用這樣的語句去限制後所得的語句結果。 

  *

  從指定表格中指定所有的欄位。 

  table

  針對被選擇出的記錄的字段,所指定表格的名稱。 

  field1,field2

  想要讀取資料的字段名稱,如果包含了一個以上的字段,會依照列出的順序來讀取資料。 

  alias1,alias2

  用來取代在表格實際欄位名稱的化名。 

  tableexpression

  表格名稱或包含我們所想要的資料的表格。 

  externaldatabase

  若使用到不是目前的資料庫則將其名字定義在externaldatabase當中。
  
  ALL,DISTINCT,DISTINCTROW,TOP屬性詞用法

  SELECT [ALL|DISTINCT|DISTINCTROW|[TOP nPERPERCENT]]] FROM table『則Microsoft Jet資料庫引擎(database engine)將會選擇所有的字段,並依據所定的條件查詢出需求資料集。

 以上就是全面接觸SQL文法(1)的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn