资源描述:
《数据库的高级操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章数据库的高级操作*5.1SQL语言5.2查询5.3报表5.4标签学习目标了解SQL语言,熟悉SQL的查询命令;掌握查询的创建和使用查询多样化输出;掌握报表设计步骤和运行方法;了解标签的设计与使用。重点与难点重点在于SQL的查询命令、查询输出和报表设计;难点在于报表的设计。5.1SQL语言SQL是一种介于关系代数与关系演算之间的结构化查询语言(StructuredQureyLanguage,SQL),其功能并不仅仅是查询,还具备数据定义等功能,支持关系数据库的三级模式结构,其中外模式对应于视图和部分基本表,模式对应于基本表,而内模式对应于存储文件。SQL语言的特点(1)类
2、似于英语自然语言,容易学;(2)是一种非过程语言;(3)是一种面向集合的语言;(4)既可独立使用,又可嵌入到宿主语言中使用;(5)具有查询、操纵、定义和控制一体化功能。注意:VFP所支持的SQL语言并不是全部的SQL语言。5.1.1SQL数据定义功能1.定义基本表2.定义视图1.定义基本表SQL语句如下:createtable<表名>(字段名1,类型([宽度[,小数点位数]])[null
3、notnull][check<逻辑表达式>[error<出错提示信息>]][primarykey
4、unique][,字段名2……])[foreignkey字段名tag索引标识名referen
5、ces表名1]其中,null子句表示该字段中是否允许空值。check子句给出字段有效性规则,以及违背规则的出错信息。primary子句给出是主索引,还是候选索引,用于数据库表的定义。foreignkey子句指出关联表的外码。【例5.1】定义一个学生表,并显示表的结构。c-字符型,d-日期型,n-数值型。xh:学号、xm:姓名、xb:性别;csrq:出生日期;sg:身高。createtablestudent(xhc(4),xmc(8),xbc(2),csrqd,sgn(3))usestudentliststructure2.定义视图SQL语句基本格式如下:createsqlvi
6、ew[视图名]asselect语句其中,“视图名”指出定义的视图名。“select语句”是一个定义视图的Select查询语句,编程方式使用。注意:定义视图要求数据库已经被打开。【例5.2】定义视图testview。opendatabase学生成绩管理createsqlviewtestview&&执行该命令进入“视图设计器”。3.修改表结构表结构的字段的增加、删除或更改就是修改表结构的操作。SQL语句基本格式如下:(1)修改字段属性altertable表名alter字段名1类型([宽度[,小数点位数]])[null
7、notnull][alter字段名2类型([宽度[,小数点位数
8、]])[null
9、notnull]……](2)删除字段altertable表名drop字段名1[drop字段名2……](3)增加字段altertable表名add字段名1类型([宽度[,小数点位数]])[null
10、notnull][add字段名2类型([宽度[,小数点位数]])[null
11、notnull]……](4)更改字段名altertable表名rename原字段名1to新字段名1[rename原字段名2to新字段名2……]【例5.3】在例5.1定义表的基础上,增加一个逻辑型sfdy(是否党员)的字段和一个字符型的tmp字段,再修改tmp字段为数值型字段,再将tmp字段名
12、改为temp。最后删除temp字段。altertablestudentaddsfdyLaddtmpc(10)&&增加字段liststructurealtertablestudentaltertmpn(6,2)&&修改字段liststructurealtertablestudentrenametmptotemp&&字段更名liststructurealtertablestudentdroptemp&&删除字段liststructureuse5.1.2SQL数据查询功能VFP系统提供了Select-SQL查询语句,提供了简便、快捷和灵活多样的各种查询功能。Select语句功能是创
13、建一个指定范围内、满足条件、按某字段分组、按某字段排序的指定字段组组成的记录集。Select-SQL查询语句select[all
14、distinct]<字段名1>
15、<函数>[,<字段名2>……]from<表或查询>[[left]
16、[right]
17、[inner]join<表或查询>on〈条件表达式1〉][where〈条件表达式2〉][groupby<分组字段名>[Having<条件表达式3>]][orderby<关键字表达式>[[ascending]
18、[dscending]]]其中:all:全部记录,dis