1. <small id="kntrr"><delect id="kntrr"></delect></small>
    2. <sub id="kntrr"></sub>
        1. <form id="kntrr"><listing id="kntrr"></listing></form>
            江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
            4.1 SQL概述

            5.1  SQL概述

            考點1 概述

              1概念
              SQL是結構化查詢語言Structured Query Language的縮寫。它包括數據查詢、數據定義、數據操縱和數據控制4部分。Visual FoxPro在SQL方面支持數據定義、數據查詢和數據操縱功能。另外,由于Visual FoxPro自身在安全控制方面的缺陷,所以它沒有提供數據控制功能。
              2 SQL語言的特點
              (1)一種一體化的語言。
              (2)一種高度非過程化的語言。
              (3)語言非常簡潔。
              (4)可以直接以命令方式交互使用,也可以以程序方式使用。

            5.2 查詢功能

              SQL的核心是查詢,基本形式由SELECT-FROM-WHERE查詢塊組成,多個查詢塊可嵌套執行,如表5-1所示。

                    表5-1  SQL命令動詞
             

            考點2 簡單查詢

              1簡單查詢
              簡單查詢是由SELECT和FROM短語構成的無條件查詢,或由SELECT,FROM和WHERE短語構成的條件查詢。
              2簡單的連接查詢
              連接是關系的基本操作之一,連接查詢是一種基于多個關系的查詢。
              3嵌套查詢
              嵌套查詢所要求的結果出自一個關系,但關系的條件卻涉及多個關系。其內層基本上也是一個SELECT-FROM-WHERE查詢語句。這種簡單嵌套查詢,可使用謂詞IN或NOT IN來判斷在外層的查詢條件中是否包含內層查詢的結果。

            考點3 特殊運算符號

              1 BETWEEN…AND…
              含義:該查詢的條件是在……范圍之內,相當于用AND連接的一個邏輯表達式。
              2 LIKE
              含義:它是一個字符串匹配運算符,與之搭配使用的通配符包括“*”和“?”。

            考點4 排序

              使用SQL SELECT可以將查詢結果進行排序,排序的短語是ORDER BY。
              格式:ORDER BY Order_Item[ASCIDESC][,Order_Item[ASC|DESC]…]
              說明:可以按升序(ASC)或降序(DESC)排序,允許按一列或多列排序。

            考點5 計算查詢

              1簡單的計算查詢
              SQL不僅具有一般的檢索能力,而且還有計算方式的檢索,用于計算檢索的函數有:COUNT(計數)、SUM(求和)、AVG(計算平均值)、MAX(求最大值)及MIN(求最小值)。
              2分組與計算查詢
              在SQL SELECT中可以利用GROUP BY子句進行分組計算查詢。
              格式:GROUP BY GroupColumn[,GroupColumn…][HAVING FilterCondition]
              說明:可以按一列或多列分組,還可以用HAVING子句進一步限定分組的條件。它必須跟在GROUP BY子句之后,不可單獨使用,與WHERE子句并不矛盾。

            考點6 別名和自連接查詢

              (1)SQL語句允許在二OM短語中為關系定義別名,格式為:一
                    <關系名><別名>
              (2) SQL不僅可以對多個關系進行連接操作,也可以將同一關系與其自身進行連接,這種連接就稱為自連接。在關系的自連接操作中,別名是必不可少的。

            考點7 使用量詞和謂詞的查詢

              與嵌套查詢或子查詢有關的運算符,除了IN和NOT IN運算符外,還有兩類與子查詢有關的運算符,它們有以下兩種格式。
              (1)<表達式><比較運算符>[ANY I ALL | SOME](子查詢)
              (2)[NOT]EXISTS(子查詢)
              EXISTS是謂詞,EXISTS或NOT EXISTS是用來檢查在子查詢中是否有結果返回,即存在元組或不存在元組。其本身并沒有進行任何運算或比較,只用來返回子查詢結果。

            考點8 超鏈接查詢

              (1)在新的SQL標準中支持兩個新的關系連接運算符,這兩個新的連接運算是左連接(*=)和右連接=*):首先保證一個表中滿足條件的元組都在結果表中,然后將滿足連接條件的元組與另一個表的元組進行連接,不滿足連接條件的則應將來自另一個表的屬性值置為空值。在一般SQL中超鏈接運算符是“*=”(左連接)和“=*”(右連接)。
              (2)在Visual FoxPro中不支持超鏈接運算符“*=”和“=*”,Visual FoxPro有專門的連接運算。下面拼出SQL中超鏈接的部分語句格式:
                      SELECT…
                      FROM Table INNER|LEFT|RIGHT|FULL JOIN Table
                      ON JoinCondition
                      WHERE…

            考點9  Visual FoxPro中SQL SELECT的幾個特殊選項

              (l)顯示部分結果,格式為:
                    TOP nExpr[PERCENT]
              (2)將查詢結果存放到數組中,格式為:
                    INTO ARRAY ArrayName
              (3)將查詢結果存放到臨時文件中,格式為:
                    INTO CURSOR CursorName
              (4)將查詢結果存放到永久表中,格式為:
                    INTO DBF|TABLE TableName
              (5)將查詢結果存放到文本文件中,格式為:
                    TO FILE FileName[ADDITIVE]
              (6)將查詢結果直接輸出到打印機,格式為:
                    TO PRINTER[PROMPT]

            5.3 操作功能

            考點10 插入

              Visual FoxPro支持兩種SQL插入命令的格式,一種是標準格式,另一種是特殊格式。
              1標準格式
                    INSERT INTO dbf name[(frame 1[,fname2,…])]
                    VALUES(eExpressionl[,eExpression2,…])
              2特殊格式
                    INSERT INTO dbf _name FROM ARRAY ArrayName|FROM MEMVAR

            考點11 更新

              SQL的數據更新命令格式如下:
                        UPDATE TableName
              SET Column_Namel=eEpressionl[,Column_Name2=eExpression2…]
                        WHERE Condition
              說明:利用WHERE字句指定條件,以更新滿足條件的一些記錄的字段值,并巨一次可更新多個字段;如果不使用WHERE子句,則更新全部記錄。

            考點12 刪除

              SQL從表中刪除數據的命令格式如下:
                    DELETE FROM TableName[WHERE Condition]
              說明:FROM指定從哪個表中刪除記錄,WHERE指定被刪除的記錄所滿足的條件,如果不使用WHERE子句,則刪除該表中的全部記錄。

            小提示:
              當一個表定義一個主索引或候選索引后,由于相應的字段具有關鍵字的特性,即不能為空,所以只能用此命令插入記錄、)APPEND和INSERT都是插入一條空白記錄再輸入各字段的值,故不能用它們來插入記錄。

            5.4 定義功能

            考點13 表的定義

              利用SQL命令建立的數據表同樣可以完成在表設計器中設計表的所有功能。
              格式:CREATE TABLE I DBF TableNamel[NAME LongTableName][FREE]
                      (FieldNarnel FieldType[(nFieldWidth[,nPrecision])][NULL |NOT NULL]
                      [CHECK IExpressionl [ERROR cMessageTextl]]
                      [DEFAULT eExpressionl]
                      [PRIMARY KEY I UNIQUE]
                      [PEFERENCES TableName2[AG TagName1]]
                      [NOCPTRANS]
                      [,FieldName2…]
                      [,PRIMARY KEY eEpression2 TAG TagName2|,
                      UNIQUE eExpression3 TAG TagName3]
                      [,FOREIGN KEY eExpression4 TagName4[NODUP]
                      REFERENCES TableName3 [TAG TagName5]]
                      [,CHECK lExpression2[ERROR cMessageText2]])
                      |FROM ARRAY ArravNasne
              說明:此命令除了建立表的基本功能外,還包括滿足實體完整性的主關鍵字(主索引)PRIMARY KEY、定義域完整性的CHECK約束及出錯提示信息ERROR、定義默認值DEFAULT等,另外還有描述表之間聯系的FOREIGN KEY和REFERENCES等。

            考點14 表的刪除

              利用SQL命令刪除表,可直接使用語句,格式為:
                    DROP TABLE Table_name
              說明:如果刪除的是自由表,則應該將當前打開的數據庫先關閉,才能進行刪除。如果刪除數據庫表,則要先打開數據庫,在數據庫中進行操作二否則,即使刪除了數據庫表,但記錄在數據庫中的信息并沒有被刪除,此后會出現錯誤提示。

            考點15 表結構的修改

              修改表結構的命令是ALTER TABLE,該命令有3種格式。
              (1)ALTER TABLE TableNamel ADD| ALTER[COLUMN]FieldNamel
                    FieldTvpe[(nFieldWidth[,nPrecision])][NULL |NOT NULL]
                    [CHECK lExpressionl[ERROR cMessageTextl ]][DEFAULT eExpressionl]
                    [PRIMARY KEY |UNIQUE]
                    [REFERENCES TableName2[TAG TagNamel〕]
              (2)ALTER TABLE TableNamel ALTER[COLUMN]FieldName2[NULL|NOT NULL]
                    [SET EFAULTeExpression2][SET CHECK lExpression2[ERROR cMessageText2]
              [DROP DEFAULT][DROP CHECK]
              (3)ALTER TABLE TableName1[DROP [COLUMN]FieldName3]
                    [SET CHECK lExpression3[ERROR cMessageText3]
                    [DROP CHECK]
                    [ADD PRIMARY KEY eExpression3 TAG TagName2[FOR lExpression4]]
                    [DROP PRIMARY KEY〕
                    [ADD UNIQUE eExpression4[TAG TagName3[FOR lExpression5]]]
                    [DROP UNIQUE TAG TagName4]
                    [ADD FOREIGN KEY[eExpression5] TAG TagName4[FOR lExpression6]
                    REFERENCES TableName2[TAG TagName5]]
                    [DROP FOREIGN KEY TAG TagName6[SAVE]]
                    [RENAME COLUMN FieldName4 TO FieldName5]

            考點16 視圖的定義

              1視圖的概念及其定義
              (l)視圖的概念。
              Visual FoxPro中視圖是一個虛擬的表,可以是本地的、遠程的或帶參數的。
              (2)視圖的定義,格式為:
                    CREATE VIEW view name[(column_name[,column_name]…)]
                                AS select_statement
              2從單個表派生出來的視圖
              視圖一經定義,就可以和基本表一樣進行各種查詢,也可以進行一些修改操作。對于最終用戶來說,有時并不需要知道操作的是基本表還是視圖。
              3從多個表派生出來的視圖
              視圖一方面可以限定對數據的訪問,另一方面又可以簡化對數據的訪問。
              4視圖的刪除
              視圖由于是從表派生出來的,所以不存在修改結構的問題,但是視圖可以刪除。
              格式:DROP VIEW<視圖名>
              5關于視圖的說明
              在關系數據庫中,視圖始終不真正含有數據,它總是原有表的一個窗口。所以,雖然視圖可以像表一樣進行各種查詢,但是插入、更新和刪除操作在視圖上卻有一定限制。在一般情況下,當一個視圖是由單個表導出時可以進行插入和更新操作,但不能進行刪除操作;當視圖是從多個表導出時,插入、更新和刪除操作都不允許進行。這種限制是很有必要的,它可以避免一些潛在問題的發生。

            国产在线精品一区二区三区不卡_亚洲第一极品精品无码_永久免费无码网站在线观看_亚洲av综合日韩