鸭子tv国产极品在线观看_成人69视频在线播放_91精品免费在线观看_亚洲AT永久偷窥无码精品_国产精品自产拍在线观看涩浪潮久

江蘇省高校計算機(jī)等級考試命題研究院 江蘇省高校計算機(jī)等級考試輔導(dǎo)
4.1 SQL概述

5.1  SQL概述

考點1 概述

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

5.2 查詢功能

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

        表5-1  SQL命令動詞
 

考點2 簡單查詢

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

考點3 特殊運(yùn)算符號

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

考點4 排序

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

考點5 計算查詢

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

考點6 別名和自連接查詢

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

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

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

考點8 超鏈接查詢

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

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

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

5.3 操作功能

考點10 插入

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

考點11 更新

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

考點12 刪除

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

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

5.4 定義功能

考點13 表的定義

  利用SQL命令建立的數(shù)據(jù)表同樣可以完成在表設(shè)計器中設(shè)計表的所有功能。
  格式: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]
          [,F(xiàn)ieldName2…]
          [,PRIMARY KEY eEpression2 TAG TagName2|,
          UNIQUE eExpression3 TAG TagName3]
          [,F(xiàn)OREIGN KEY eExpression4 TagName4[NODUP]
          REFERENCES TableName3 [TAG TagName5]]
          [,CHECK lExpression2[ERROR cMessageText2]])
          |FROM ARRAY ArravNasne
  說明:此命令除了建立表的基本功能外,還包括滿足實體完整性的主關(guān)鍵字(主索引)PRIMARY KEY、定義域完整性的CHECK約束及出錯提示信息ERROR、定義默認(rèn)值DEFAULT等,另外還有描述表之間聯(lián)系的FOREIGN KEY和REFERENCES等。

考點14 表的刪除

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

考點15 表結(jié)構(gòu)的修改

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