SQL功能與特性
其實(shí),在前面的文章中,已經(jīng)提及SQL命令的一些基本功能,然而,通過(guò)SQL命令,程序設(shè)計(jì)師或數(shù)據(jù)庫(kù)管理員(DBA)可以:
(一)建立數(shù)據(jù)庫(kù)的表格。(包括設(shè)置表格所可以使用之空間)
(二)改變數(shù)據(jù)庫(kù)系統(tǒng)環(huán)境設(shè)置。
(三)針對(duì)某個(gè)數(shù)據(jù)庫(kù)或表格,授予用戶存取權(quán)限。
(四)對(duì)數(shù)據(jù)庫(kù)表格建立索引值。
(五)修改數(shù)據(jù)庫(kù)表格結(jié)構(gòu)。(新建、刪除或是修改表格字段)
(六)對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的新建。
(七)對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的刪除。
(八)對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的修改。
(九)對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的查詢。
這幾項(xiàng)便是通過(guò)SQL命令可以完成的事情,看起來(lái)是不是比起“查詢”兩個(gè)字所代表的功能要多的多了呢?
SQL語(yǔ)法的分類
其實(shí)SQL命令并不是非常多,可是要把SQL用到出神入化,卻也只需要短短幾個(gè)命令便夠,因?yàn)镾QL命令是針對(duì)關(guān)系型數(shù)據(jù)庫(kù)所建立出來(lái)的語(yǔ)法敘述,所以SQL在這類數(shù)據(jù)庫(kù)中所發(fā)揮的功能非常的強(qiáng),以下將針對(duì)在VB中常用的SQL語(yǔ)法基本命令加以分類介紹。在說(shuō)明SQL的命令以及使用語(yǔ)法之前,以下將SQL做了的分類,在致上SQL語(yǔ)法所使用到的類型,可以說(shuō)都已包含在這些類別當(dāng)中。
第一類、屬性詞(Predicates)
在SQL命令中用來(lái)指明所要選擇的記錄的方式。如ALL、與DISTINCT等等。
第二類、聲明(Declaration)
針對(duì)SQL Parameter或Parameter Query 的名稱與數(shù)據(jù)類型做聲明,如PARAMETERS的聲明等等。
第三類、條件子句(Clause)
在SQL的查詢中,利用一些表達(dá)式定義出查詢的條件,以縮小尋找的范圍,如WHERE。
第四類、運(yùn)算符(Operator)與操作數(shù)(Operation)
在SQL的查詢中,與Operation共同組成表達(dá)式(Expression),如BETWEEN....AND 運(yùn)算符與INNER JOIN操作數(shù)。 第五類、函數(shù)(Function)
一些SQL常見(jiàn)的函數(shù),像是AVG()是求算數(shù)平均數(shù)的函數(shù)。
第六類、SQL語(yǔ)句(Statement)
SQL的語(yǔ)句,可以說(shuō)是SQL語(yǔ)法的主體,用來(lái)對(duì)某一個(gè)特定的數(shù)據(jù)庫(kù)發(fā)出指示,并返回相關(guān)的數(shù)據(jù),而SQL的語(yǔ)法結(jié)構(gòu),基本上可以利用下面
的式子來(lái)表示:命令+條件子句
例如:
SELECT*FROM TAB WHERE TAB.NAME=’A’
其中的“FROM....WHERE”便是一個(gè)條件子句,其實(shí)SQL的語(yǔ)法并不難,您只需記住這樣的一個(gè)規(guī)則,相信可以很快的了解SQL用法。
SQL語(yǔ)法與命令
SELECT 語(yǔ)句
SELECT[predicate]{*|table.*|[table.]field [,[table.]field2[,...]]} [AS alias1 [,alias2[,...]]]
FROM tableexpression [,...][IN externaldatabase]
[WHERE...]
[GROUP BY...]
[HAVING...]
[ORDER BY...]
[WITH OWNERACCESS OPTION]
SELECT 語(yǔ)句包括下面幾個(gè)部分
predicate
如前面所述,包括了ALL,DISTINCT,DISTINCTROW,與 我們可以利用這樣的語(yǔ)句去限制查詢后所得的結(jié)果。
*
從指定表格中指定所有的字段。
table
針對(duì)被選擇出的記錄的字段,所指定表格的名稱。
field1,field2
想要讀取數(shù)據(jù)的字段名稱,如果包含了一個(gè)以上的字段,會(huì)依照列出的順序來(lái)讀取數(shù)據(jù)。
alias1,alias2
用來(lái)替代在表格實(shí)際字段名稱的化名。
tableexpression
表格名稱或包含我們所想要的數(shù)據(jù)的表格。
externaldatabase
若使用到不是目前的數(shù)據(jù)庫(kù)則將其名字定義在externaldatabase當(dāng)中。
ALL,DISTINCT,DISTINCTROW,屬性詞用法
SELECT [ALL|DISTINCT|DISTINCTROW|[ n[PERCENT]]] FROM table
ALL
若是您不指定任何的字段數(shù)據(jù),則Microsoft Jet數(shù)據(jù)庫(kù)引擎(database engine)將會(huì)選擇所有的字段,并依據(jù)所定的條件查詢出需求數(shù)據(jù)集。
其實(shí),在前面的文章中,已經(jīng)提及SQL命令的一些基本功能,然而,通過(guò)SQL命令,程序設(shè)計(jì)師或數(shù)據(jù)庫(kù)管理員(DBA)可以:
(一)建立數(shù)據(jù)庫(kù)的表格。(包括設(shè)置表格所可以使用之空間)
(二)改變數(shù)據(jù)庫(kù)系統(tǒng)環(huán)境設(shè)置。
(三)針對(duì)某個(gè)數(shù)據(jù)庫(kù)或表格,授予用戶存取權(quán)限。
(四)對(duì)數(shù)據(jù)庫(kù)表格建立索引值。
(五)修改數(shù)據(jù)庫(kù)表格結(jié)構(gòu)。(新建、刪除或是修改表格字段)
(六)對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的新建。
(七)對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的刪除。
(八)對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的修改。
(九)對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的查詢。
這幾項(xiàng)便是通過(guò)SQL命令可以完成的事情,看起來(lái)是不是比起“查詢”兩個(gè)字所代表的功能要多的多了呢?
SQL語(yǔ)法的分類
其實(shí)SQL命令并不是非常多,可是要把SQL用到出神入化,卻也只需要短短幾個(gè)命令便夠,因?yàn)镾QL命令是針對(duì)關(guān)系型數(shù)據(jù)庫(kù)所建立出來(lái)的語(yǔ)法敘述,所以SQL在這類數(shù)據(jù)庫(kù)中所發(fā)揮的功能非常的強(qiáng),以下將針對(duì)在VB中常用的SQL語(yǔ)法基本命令加以分類介紹。在說(shuō)明SQL的命令以及使用語(yǔ)法之前,以下將SQL做了的分類,在致上SQL語(yǔ)法所使用到的類型,可以說(shuō)都已包含在這些類別當(dāng)中。
第一類、屬性詞(Predicates)
在SQL命令中用來(lái)指明所要選擇的記錄的方式。如ALL、與DISTINCT等等。
第二類、聲明(Declaration)
針對(duì)SQL Parameter或Parameter Query 的名稱與數(shù)據(jù)類型做聲明,如PARAMETERS的聲明等等。
第三類、條件子句(Clause)
在SQL的查詢中,利用一些表達(dá)式定義出查詢的條件,以縮小尋找的范圍,如WHERE。
第四類、運(yùn)算符(Operator)與操作數(shù)(Operation)
在SQL的查詢中,與Operation共同組成表達(dá)式(Expression),如BETWEEN....AND 運(yùn)算符與INNER JOIN操作數(shù)。 第五類、函數(shù)(Function)
一些SQL常見(jiàn)的函數(shù),像是AVG()是求算數(shù)平均數(shù)的函數(shù)。
第六類、SQL語(yǔ)句(Statement)
SQL的語(yǔ)句,可以說(shuō)是SQL語(yǔ)法的主體,用來(lái)對(duì)某一個(gè)特定的數(shù)據(jù)庫(kù)發(fā)出指示,并返回相關(guān)的數(shù)據(jù),而SQL的語(yǔ)法結(jié)構(gòu),基本上可以利用下面
的式子來(lái)表示:命令+條件子句
例如:
SELECT*FROM TAB WHERE TAB.NAME=’A’
其中的“FROM....WHERE”便是一個(gè)條件子句,其實(shí)SQL的語(yǔ)法并不難,您只需記住這樣的一個(gè)規(guī)則,相信可以很快的了解SQL用法。
SQL語(yǔ)法與命令
SELECT 語(yǔ)句
SELECT[predicate]{*|table.*|[table.]field [,[table.]field2[,...]]} [AS alias1 [,alias2[,...]]]
FROM tableexpression [,...][IN externaldatabase]
[WHERE...]
[GROUP BY...]
[HAVING...]
[ORDER BY...]
[WITH OWNERACCESS OPTION]
SELECT 語(yǔ)句包括下面幾個(gè)部分
predicate
如前面所述,包括了ALL,DISTINCT,DISTINCTROW,與 我們可以利用這樣的語(yǔ)句去限制查詢后所得的結(jié)果。
*
從指定表格中指定所有的字段。
table
針對(duì)被選擇出的記錄的字段,所指定表格的名稱。
field1,field2
想要讀取數(shù)據(jù)的字段名稱,如果包含了一個(gè)以上的字段,會(huì)依照列出的順序來(lái)讀取數(shù)據(jù)。
alias1,alias2
用來(lái)替代在表格實(shí)際字段名稱的化名。
tableexpression
表格名稱或包含我們所想要的數(shù)據(jù)的表格。
externaldatabase
若使用到不是目前的數(shù)據(jù)庫(kù)則將其名字定義在externaldatabase當(dāng)中。
ALL,DISTINCT,DISTINCTROW,屬性詞用法
SELECT [ALL|DISTINCT|DISTINCTROW|[ n[PERCENT]]] FROM table
ALL
若是您不指定任何的字段數(shù)據(jù),則Microsoft Jet數(shù)據(jù)庫(kù)引擎(database engine)將會(huì)選擇所有的字段,并依據(jù)所定的條件查詢出需求數(shù)據(jù)集。