《数据库应用基础与实训教程-Visual-FoxPro》第6章:SQL语句课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《数据库应用基础与实训教程-Visual-FoxPro》第6章:SQL语句课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库应用基础与实训教程Visual-FoxPro 数据库 应用 基础 教程 Visual FoxPro SQL 语句 课件
- 资源描述:
-
1、http:/ Query Language)的缩写,其功能包括数据查询、数据操纵、数据定义和数据控制四个部分。SQL语言拥有使用方式灵活、语句简洁、功能齐全等特点,深受用户欢迎,已成为目前应用最广泛的关系数据库语言,几乎所有的关系型数据库型系统都支持它。Visual FoxPro并不支持所有的SQL语句,它只支持其中的子集。本章将介绍常用的SQL语句使用,主要包括数据查询、数据定义和数据操作功能。要求熟练掌握这些命令的应用。http:/ 数据库的操作语句n6.2 表的创建与删除语句n6.3 SQL的数据操作功能n6.4 SQL的数据查询功能 n6.5 本章实训 n6.6 本章习题http:/
2、数据库的创建n6.1.2 数据库的删除http:/ DATABASE DatabaseName【命令说明】DatabaseName指的是所要创建的数据名。具体应用见【例6-1】。http:/ DATABASE CJGL&在当前路径下创建了名为CJGL的数据库。MODIFY DATABASE&打开名为CJGL的数据库设计器,如图6.1所示。图6.1http:/ DATABASE DatabaseName【命令说明】DatabaseName指的是所要删除的数据名。但在删除数据库之前,必须先关闭该数据库。具体应用见【例6-2】http:/ DATABASE&关闭例6-1所建立的数据库。DELETE
3、DATABASE CJGL&删除已经关闭的数据库,弹出如图6.2所示,单击【是】按钮就删除了该数据库。图6.2http:/ 表的创建n6.2.2 表结构的修改n6.2.3 表的删除n6.2.4 将表移出数据库n6.2.5 将自由表添加到数据库http:/ TABLE|DBF TableName FREE(FieldName1 FieldType(nFieldWidth,nPrecision)NULL|NOT NULLCKECK lExpression1 ERROR cMessagetext1DEFAULT eExpression1PRIMARY KEY|UNIQUE,FieldName2【命令
4、说明】【命令说明】(1)TableName指的是所要创建的表名。指的是所要创建的表名。(2)FREE指的是要创建一个自由表。指的是要创建一个自由表。(3)FieldName1指的是新建表的字段名。指的是新建表的字段名。http:/ NULL指的字段中是否允许保存指的字段中是否允许保存空值。空值。(8)C K E C K l E x p re s s i o n 1 E R R O R cMessagetext1指的是验证字段的值是否符合指定的指的是验证字段的值是否符合指定的表达式,不符合可以有错误提示信息。表达式,不符合可以有错误提示信息。(9)DEFAULT eExpression1指的是给
5、指定字段指的是给指定字段设置默认值。设置默认值。(10)PRIMARY KEY|UNIQUE指的是给指定字指的是给指定字段设置主索引或唯一索引。段设置主索引或唯一索引。http:/ DATABASE OPEN DATABASE 成绩管理成绩管理CREATE TABLE XSCREATE TABLE XS(XH C(2),XM C(10),XB C(2),CSRQ D,SFTY(XH C(2),XM C(10),XB C(2),CSRQ D,SFTY L,XBBH C(2)L,XBBH C(2)&在成绩管理数据库中建立表在成绩管理数据库中建立表XSXS,如图,如图6.36.3所示。所示。图图6.
6、36.3http:/ TABLE XS1(XH C(2)NOT NULL PRIMARY KEY,XM C(10),XB C(2)CHECK XB=”男男”OR XB=”女女”,CSRQ D,SFTY L DEFAULT.T.,XBBH C(2)然后查看表然后查看表XS1的结构,如图的结构,如图6.4所示。所示。图图6.4http:/ TABLE TabelName1ALTER TABLE TabelName1ADD COLUNMN FieldName1 FieldType ADD COLUNMN FieldName1 FieldType(nFieldWidth,nPrecision(nFie
7、ldWidth,nPrecision)NULL|NOT NULLNULL|NOT NULLCHECK lExpression1 ERROR cMessagetext1CHECK lExpression1 ERROR cMessagetext1DEFAULT eExpression1DEFAULT eExpression1PRIMARY KEY|UNIQUEPRIMARY KEY|UNIQUE【命令说明】这里的参数的含义和创建表的含义一致,参照执行。http:/ TABLE XSALTER TABLE XSADD NL N(2)CHECK NL0 ERROR”ADD NL N(2)CHECK N
8、L0 ERROR”年龄必须大于年龄必须大于零零”命令执行后进入表命令执行后进入表XSXS的表设计器,如图的表设计器,如图6.56.5所示。所示。图图6.56.5http:/ TABLE TabelName1ALTER TABLE TabelName1ALTER COLUNMN FieldName1 FieldType ALTER COLUNMN FieldName1 FieldType(nFieldWidth,nPrecision(nFieldWidth,nPrecision)NULL|NOT NULLNULL|NOT NULL S E T C H E C K l E x p r e s s
9、i o n 1 E R R O R S E T C H E C K l E x p r e s s i o n 1 E R R O R cMessagetext1cMessagetext1SET DEFAULT eExpression1SET DEFAULT eExpression1DROP CHECK DROP DEFAULTDROP CHECK DROP DEFAULTRENAME COLUMN FieldName1 TO FieldName2RENAME COLUMN FieldName1 TO FieldName2http:/ 1)SET CHECK lExpression1 ERRO
10、R SET CHECK lExpression1 ERROR cMessagetext1cMessagetext1指给指定字段增加规则或修改规则。指给指定字段增加规则或修改规则。(2 2)SET DEFAULT eExpression1SET DEFAULT eExpression1指给指定字段增指给指定字段增加默认值或修改默认值。加默认值或修改默认值。(3 3)DROP CHECKDROP CHECK指删除指定字段的规则。指删除指定字段的规则。(4 4)DROP DEFAULTDROP DEFAULT指删除指定字段的默认值。指删除指定字段的默认值。(5 5)RENAME COLUMN Fie
11、ldName1 TO FieldName2RENAME COLUMN FieldName1 TO FieldName2指给字段指给字段FieldName1FieldName1重新命名为重新命名为FieldName2FieldName2。其他的参数的含义和创建表的含义一致,参照执其他的参数的含义和创建表的含义一致,参照执行。行。http:/ TABLE XSATLER TABLE XSALTER NL N(2)SET CHECK NL16 ERROR”ALTER NL N(2)SET CHECK NL16 ERROR”年龄年龄必须大于必须大于1616周岁!周岁!”【例【例6-76-7】把】把SP
12、1SP1表中表中NLNL字段更改为字段更改为RXNLRXNL。命令如。命令如下:下:ATLER TABLE XSATLER TABLE XSRENAME COLUMN NL TO RXNLRENAME COLUMN NL TO RXNL【例【例6-86-8】删除】删除XSXS表表RXNLRXNL字段的有效性规则。命令字段的有效性规则。命令如下:如下:ATLER TABLE XSATLER TABLE XSALTER RXNL DROP CHECKALTER RXNL DROP CHECKhttp:/ TABLE TableName【命令说明】【命令说明】该命令是直接从磁盘上删除指定的表名的该命
13、令是直接从磁盘上删除指定的表名的DBF文文件。但该表如果是数据库表,就必须先打开该表所在件。但该表如果是数据库表,就必须先打开该表所在的数据库,然后使用该命令删除表,否则数据库中将的数据库,然后使用该命令删除表,否则数据库中将还保留有该表的信息,会有错误提示。还保留有该表的信息,会有错误提示。【例【例6-10】删除表】删除表SP1。DROP TABLE SP1http:/ TABLE TableNameREMOVE TABLE TableName|?DELETEDELETE【命令说明】【命令说明】(1 1)该命令是把指定数据库表移出数据库。)该命令是把指定数据库表移出数据库。(2 2)?指调出
14、【移去】对话框,从中选择要移去)?指调出【移去】对话框,从中选择要移去的表。的表。(3 3)DELETEDELETE指把指定表移出后,并从磁盘上删除。指把指定表移出后,并从磁盘上删除。【例【例6-116-11】将表】将表XSXS移出数据库移出数据库CJGLCJGL,但不删除。,但不删除。命令和操作如下:命令和操作如下:http:/ DATABASE CJGLMODIFY DATABASEREMOVE TABLE XS&该命令执行后出现如图该命令执行后出现如图6.6所示所示的对话框。的对话框。在图在图6.6中单击【是】按钮,就把表中单击【是】按钮,就把表XS移出数据库移出数据库CJGL,但并没有
15、删除表但并没有删除表XS,数据库设计器如图,数据库设计器如图6.7所示。所示。图图6.6图图6.7http:/ TABLE TableName|?NAME LongTableName【命令说明】【命令说明】(1)该命令是把指定自由表添加到指定的数据库)该命令是把指定自由表添加到指定的数据库中,成为数据库表。中,成为数据库表。(2)?:指调出【打开】对话框,从中选择要添)?:指调出【打开】对话框,从中选择要添加的自由表。加的自由表。(3)NAME LongTableName:指为添加的数据:指为添加的数据库表指定一个长名。库表指定一个长名。http:/ DATABASE CJGLMODIFY D
16、ATABASEADD TABLE XS命令执行后数据库设计器如图命令执行后数据库设计器如图6.8所示。所示。图图6.8http:/ 数据的插入n6.3.2 数据的更新n6.3.3 数据的删除SQLSQL的数据操作功能只要是对已有表中数据的操的数据操作功能只要是对已有表中数据的操作,主要包括记录的插入、更新和删除三大方面的作,主要包括记录的插入、更新和删除三大方面的操作。操作。http:/ FoxPro支持两种支持两种SQL数据的插入格式,第一种是数据的插入格式,第一种是标准格式,第二种是特殊格式。一般使用第一种格式。标准格式,第二种是特殊格式。一般使用第一种格式。【第一种命令格式】【第一种命令
17、格式】INSERT INTO TableName(FieldName1,FieldName2,)VALUES(eExpression1,eExpression2,)【命令说明】【命令说明】(1)TableName指所要插入记录的表名。指所要插入记录的表名。(2)FieldName1,FieldName2,指插入记录所要用到的指插入记录所要用到的字段。该参数可以不选,默认为对所有字段都需要插入值。字段。该参数可以不选,默认为对所有字段都需要插入值。(3)eExpression1,eExpression2,指插入记录对应字段指插入记录对应字段的值。的值。(4)所插入字段的值必须和该对应的字段的数据
18、要求一致,)所插入字段的值必须和该对应的字段的数据要求一致,包括数据类型、数据长度的范围、数据小数位数。包括数据类型、数据长度的范围、数据小数位数。(5)所插入的记录字段的值必须和字段的个数保持一致,)所插入的记录字段的值必须和字段的个数保持一致,不能多也不能少,否则会出错。不能多也不能少,否则会出错。http:/ INTO 课程课程(课程号课程号,课程名称课程名称,学分学分)VALUES(C6,桌面程序设计桌面程序设计,5)由于该命令是对表中所有字段都插入一个值,还可以使由于该命令是对表中所有字段都插入一个值,还可以使用下面命令进行操作:用下面命令进行操作:INSERT INTO 课程课程V
19、ALUES(C6,桌面程序设计桌面程序设计,5)命令执行结果如图命令执行结果如图6.10所示。所示。图图6.10http:/ INTO TableNameINSERT INTO TableNameFROM ARRAY AraayNameFROM ARRAY AraayName【命令说明】【命令说明】(1 1)该命令是从指定的数据组中插入数据成为记)该命令是从指定的数据组中插入数据成为记录。录。(2 2)AraayNameAraayName指数组名。该数组必须先定义,指数组名。该数组必须先定义,而且各元素的赋值符合指定表相应字段的定义,这样而且各元素的赋值符合指定表相应字段的定义,这样才可以使用
20、数组插入记录。才可以使用数组插入记录。http:/ X(3)&定义一个一维数组定义一个一维数组X,有,有3个元素。个元素。X(1)=C7X(2)=专业英语专业英语X(3)=3INSERT INTO 课程课程 FROM ARRAY X命令执行结果如图命令执行结果如图6.11所示。所示。图图6.11http:/ TableName SET ColumnName1=eExpression1,ColumnName2=eExpression2)WHERE Conditon【命令说明】【命令说明】(1)ColumnName1、ColumnName2指对所要修改的指对所要修改的字段名。字段名。(2)eExp
21、ression1、eExpression2指对所要修改字段指对所要修改字段更新的数据值。可以是常量和表达式。更新的数据值。可以是常量和表达式。(3)WHERE Conditon 指对满足条件的数据进行更新。指对满足条件的数据进行更新。(4)所更新字段和新的值必须保持一致。)所更新字段和新的值必须保持一致。http:/ 课程课程;SET 课程名称课程名称=思想道德思想道德,学分学分=4;WHERE 课程名称课程名称=政治政治命令执行结果如图命令执行结果如图6.12所示。所示。图图6.12http:/ FROM TableNameWHERE Conditon【命令说明】【命令说明】(1)该命令是对
22、指定表的记录进行逻辑删除,)该命令是对指定表的记录进行逻辑删除,需要物理删除还要借助需要物理删除还要借助PACK命令。命令。(2)WHERE Conditon 指对满足条件的数指对满足条件的数据进行删除。据进行删除。http:/ FROM 课程课程WHERE 课程号课程号=C6命令执行结果如图命令执行结果如图6.13所示。图中的黑色方块表示作了删所示。图中的黑色方块表示作了删除标记,但记录并没有真正删除,还保留在表中。如果要去掉除标记,但记录并没有真正删除,还保留在表中。如果要去掉删除标记和物理删除该条记录,可以参见第三章所讲解的表数删除标记和物理删除该条记录,可以参见第三章所讲解的表数据删除
23、方法。据删除方法。图图6.13http:/ 数据库的简单查询n6.4.2 数据库的复杂查询 SQL的数据查询功能是数据库中最常用、的数据查询功能是数据库中最常用、最重要的数据操作,它可以在指定的表中查最重要的数据操作,它可以在指定的表中查询满足条件的数据,该命令应用广泛,但格询满足条件的数据,该命令应用广泛,但格式比较复杂。式比较复杂。http:/ ALL|DISTINCE TOP nExpr PERCENTAlias.Select_Item AS Column_Name,Alias.Select_Item AS Column_NameFROM FORCE DatabaseName!Table
24、 AS Local_AliasINNER|LEFT OUTER|RIGHT OUTER|FULL OUTER JOINDatabaseName!Table AS Local_AliasON JoinCondition INTO Destination|TO FILE FileName ADDITIVE|TO PRINTER PROMPT|TO SCREENPREFERENCE PreferenceNameNOCONSOLEPLAINNOWAITWHERE JoinCondition AND JoinCondition.AND|OR FilterCondition AND|OR FilterCo
展开阅读全文