4.1 SQL概念全国VFP二级考点

  • 格式:doc
  • 大小:40.50 KB
  • 文档页数:5

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 TableON JoinConditionWHERE…考点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 TableNameSET 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]FieldNamelFieldTvpe[(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中视图是一个虚拟的表,可以是本地的、远程的或带参数的。