数据库的高级操作
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【例5.4】在4.3.4节中创建了一个“学生成绩管理”数据库,其中有三个 表:学生表、课程表和选课表。使用Select命令完成下面的查询:从学生 表中创建一个查询,结果包括学号、姓名和入学年份三个字段的所有女 同学。再创建一个查询,结果中包含学号、姓名、课程名和分数,并且 按分数降序。
5.1.2 SQL数据查询功能
VFP系统提供了Select-SQL查询语句,提供了 简便、快捷和灵活多样的各种查询功能。 Select语句功能是创建一个指定范围内、满足 条件、按某字段分组、按某字段排序的指定字 段组组成的记录集。
Select-SQL查询语句
select [all | distinct]<字段名1>|<函数>[,<字段名2>……] from <表或查询> [[left]|[right]|[inner]join <表或查询> on 〈条 件表达式1〉][where 〈条件表达式2〉][group by <分组字段
注意:定义视图要求数据库已经被打开。
【例5.2】定义视图testview。
open database 学生成绩管理 create sql view testview &&执行该命令进入“视图设计
器”。
3.修改表结构
表结构的字段的增加、删除或更改就是修改表结构的操作。 SQL语句基本格式如下:
(1)修改字段属性 alter table 表名 alter 字段名1 类型 ([宽度 [, 小数点位数]])[null | not null]
[add 字段名2 类型 ([宽度 [, 小数点位数]])[null | not null]…… ] (4)更改字段名 alter table 表名 rename 原字段名1 to 新字段名1 [rename 原字段名2 to
新字段名2……]
【例5.3】在例5.1定义表的基础上,增加一个逻辑型sfdy(是否 党员)的字段和一个字符型的tmp字段,再修改tmp字段为数值型 字段,再将tmp字段名改为temp。最后删除temp字段。
名>[Having<条件表达式3>]][order by <关键字表达式> [[ascending]|[dscending]]]
其中:all:全部记录,distinct:查询结果不包含重复的行。函数:查询计 算函数。from:指定查询数据源。[left]|[right]|[inner] join <表或查询> on 〈条件表达式1>:查询结果来自多个表。where:查询结果是数据源表中 满足条件表达式2的记录集。group by:查询结果按分组字段命分组。 having:是将指定表满足条件表达式3,并且按分组字段名分组结果组成的 记录集。order by:查询结果按关键字表达式的值排序。asc:升序,des:降序。
1.定义基本表
SQL语句如下:
create table <表名>(字段名1, 类型([宽度 [, 小数点位数]]) [null | not null] [check <逻辑表达式> [error <出错提示信息>]][primary key | unique] [, 字段
名2……])[foreign key 字段名 tag 索引标识名 references 表名1]
5.1 SQL语言
SQL是一种介于关系代数与关系演算之间的结 构化查询语言(Structured Qurey Language, SQL),其功能并不仅仅是查询,还具备数据 定义等功能,支持关系数据库的三级模式结构, 其中外模式对应于视图和部分基本表,模式对 应于基本表,而内模式对应于存储文件。
alter table student add sfdy L add tmp c(10) &&增加字段 list structure alter table student alter tmp n(6,2) &&修改字段 list structure alter table student rename tmp to temp &&字段更名 list structure alter table student drop temp &&删除字段 list structure use
第5章 数据库的高级操作*
5.1 SQL语言 5.2 查询 5.3 报表 5.4 标签
学习目标
了解SQL语言,熟悉SQL的查询命令; 掌握查询的创建和使用查询多样化输出; 掌握报表设计步骤和运行方法; 了解标签的设计与使用。
重点与难点
重点在于SQL的查询命令、查询输出和报 表设计;
难点在于报表的设计。
create table student(xh c(4),xm c(8),xb c(2),csrq d,sg n(3)) use student list structure
2.定义视图
SQL语句基本格式如下:
create sql view [视图名] as select 语句
其中,“视图名”指出定义的视图名。“select 语句”是一个定义视图的Select查询语句,编程 方式使用。
SQL语言的特点
(1)类似于英语自然语言,容易学; (2)是一种非过程语言; (3)是一种面向集合的语言; (4)既可独立使用,又可嵌入到宿主语言中使用; (5)具有查询、操纵、定义和控制一体化功能。
注意:VFP所支持的SQL语言并不是全部的SQL语言。
Βιβλιοθήκη Baidu 5.1.1 SQL数据定义功能
1.定义基本表 2.定义视图
其中,null子句表示该字段中是否允许空值。 check子句给出字段有效性规则,以及违背规则 的出错信息。primary子句给出是主索引,还是 候选索引,用于数据库表的定义。foreign key子 句指出关联表的外码。
【例5.1】定义一个学生表,并显示表的结构。c-字符 型,d-日期型,n-数值型。xh:学号、xm:姓名、xb: 性别;csrq:出生日期;sg:身高。
[alter 字段名2 类型 ([宽度 [, 小数点位数]])[null | not null]…… ] (2)删除字段
alter table 表名 drop 字段名1 [ drop 字段名2 ……] (3)增加字段 alter table 表名 add 字段名1 类型 ([宽度 [, 小数点位数]])[null | not null]