- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.2.2 数据定义
SQL概述
数据定义 表的定义、 修改和删除
创建临时表 视图定义 和删除 数据操纵 删除数据 插入数据 更新数据
删除视图 DROP VIEW <视图名> 由于视图是从表中派生出来的,所以不 存在修改结构的问题,但是视图可以删除。
【例4-13】 删除视图LL。 DROP VIEW LL
【例】 求“成绩”表中学号为“200501002”的各科 成绩的平均值。 USE D:\VFP\成绩.DBF AVERAGE 成绩 FOR 学号="200501002" 显示结果: 成绩 77.00
统计命令
计数命令
求和命令
求平均值命令
计算命令 分类汇总命令
补充 统计命令
查询命令
顺序查询命令 索引查询命令
补充 统计命令
查询命令
顺序查询命令 索引查询命令
统计命令
计数命令
求和命令
求平均值命令
计算命令 分类汇总命令
分类汇总命令 TOTAL ON <汇总关键字> TO <表文件名>[FIELDS <字段名表>][<范围>][FOR<条件表达式>] 注意 汇总前必须先排序 【例】 对“成绩”表中的成绩按“学号”进行分类 汇总。 USE D:\VFP\成绩表.DBF INDEX ON 学号 TAG 学号 TOTAL ON 学号 TO D:\VFP\XX.DBF USE D:\VFP\XX.DBF LIST USE
GRANT、REVOKE
4.2.2 数据定义
SQL概述
数据定义 表的定义、 修改和删除
创建临时表 视图定义 和删除 数据操纵 删除数据 插入数据 更新数据
表的定义
CREATE TABLE <表名> (字段名 类型(宽度,小数,…))
说明
① NULL或NOT NULL:字段允许或不允许为空值。 ② CHECK… ERROR:定义域完整性和出错信息。 ③ DEFAULT:用于定义字段的默认值。 ④ UNIQUE:表明字段取值惟一。 ⑤ PRIMARY KEY:定义满足实体完整性主关键字 ⑥ FROM ARRAY:根据数组的内容建立表; ⑦FOREIGN KEY…REFERENCES:设置表间关联; ⑧FREE:表示创建一个自由表。
表的删除
DROP TABLE <表名> ① 如果数据库表,且该数据库是当前数据库,则既从磁 盘上删除表,也从数据库中删除了该表。 ② 如果表不是当前数据库,数据库中的信息不会删除, 以后会出现错误提示。 ③ 表中的数据、索引和视图都将自动被删除。
4.2.2 数据定义
SQL概述
数据定义 表的定义、 修改和删除
计算命令
CALCULATE<数值表达式> [<范围>] [FOR<条件表达式>] [TO<内存变量名表> |TO<数组名>]
【例】
统计命令
计数命令
求和命令
求平均值命令
计算命令 分类汇总命令
在“学生信息表”,分别统计记录个数,将 统计结果存入内存变量AA中,并显示变量的 值。 USE D:\VFP\学生信息表.DBF CALCULATE COUNT( ) TO AA ? AA &&结果:CNT() USE &&结果: 5
【例4-10】 建立一个临时表TEMP,其中“学号”和 “姓名”字段的类型为字符型,宽度为8,“性别” 为字符型,宽度为2,默认值为女,“备注”说明字 段为备注型。 CREATE CURSOR TEMP(学号 C(8),姓名 C(8), 性别 C(2) DEFAULT "女", 备注 M)
4.2.2 数据定义
补充查询命令
查询命令
顺序查询命令 索引查询命令
索引查询命令 【例】
SEEK <表达式>
统计命令
计数命令
求和命令
求平均值命令
计算命令 分类汇总命令
USE 学生信息表 INDEX ON 学号 TAG XH SEEK "200501001" ? RECNO( ) &&结果: 1 INDEX ON 出生日期 TAG CSRQ SEEK{^1988/07/10} ? RECNO( ) &&结果: 3
统计“成绩表”中所有成绩的和。 USE D:\VFP\成绩表.DBF SUM 成绩 USE 显示结果:成绩 462.00
补充 统计命令
查询命令
顺序查询命令 索引查询命令
求平均值命令
AVERAGE [<字段表达式表>][<范围>] [TO<内存变量名表>|TO ARRAY <数组名>] [FOR<条件>]
4.2.2 数据定义
SQL概述
数据定义 表的定义、 修改和删除
创建临时表 视图定义 和删除 数据操纵 删除数据 插入数据 更新数据
【例4-8】 删除学生表中成绩的有效性规则
ALTER TABLE 学生表 ALTER COLUMN 成绩 DROP CHECK
【例4-9】 删除学生表中的成绩字段
ALTER TABLE 学生表 DROP 成绩
统计命令
计数命令 求和命令 求平均值命令
计算命令 分类汇总命令
的人数为
USE
3
补充 统计命令
查询命令
顺序查询命令 索引查询命令
统计命令
计数命令
求和命令
求和命令 SUM [<字段表达式表>][<范围>] [TO<内存变量名表>|TO ARRAY <数组名>] [FOR<条件>] 【例】
求平均值命令
计算命令 分类汇总命令
4.2.2 数据定义
SQL概述
数据定义 表的定义、 修改和删除
创建临时表 视图定义 和删除 数据操纵 删除数据 插入数据 更新数据
【例4-4】在教师表中增加一个备注字段,字段名为备注。
ALTER TABLE 教师表 ADD 备注 M
【例4-5】 在学生表增加一个成绩字段,宽度为5, 小数为1,有效性规则为:成绩>=0。
4.2.3 数据操纵
SQL概述
数据定义 表的定义、 修改和删除
创建临时表 视图定义 和删除 数据操纵 删除数据 插入数据 更新数据
删除数据 DELETE FROM <表名> [WHERE <条件表达式>]
① FROM指定从哪个表中删除数据。 ② 缺省WHERE子句,表示删除全部记录。
【例4-14】 删除学号为200502001学生 的记录。 DELETE FROM 学生信息表 WHERE 学号="200502001"
SQL概述
数据定义 表的定义、 修改和删除
创建临时表 视图定义 和删除 数据操纵 删除数据 插入数据 更新数据
创建视图
CREATE VIEW <视图文件> AS <子查询> ① AS <子查询>可以是任意的SELECT查询语句; ② 视图中的虚字段用一个查询来建立一个视图的 SELECT子句可以包含算术表达式或函数,它们与 视图的其他字段一样,由于它们是经过计算得来的, 并不存在于表内,所以称为虚字段。 【例4-11】 创建性别为“女”的学生视图。 CREATE VIEW 学生女视图 AS SELECT 姓名, 性别 FROM 学生信息表 WHERE 性别="女" 【例4-12】 反映学生年龄的视图。 CREATE VIEW LL AS SELECT 姓名,YEAR (DATE())-YEAR(出生日期)AS 年龄 FROM 学生信息表
4.2.2 数据定义
数据定义 表的定义、 修改和删除
创建临时表 视图定义 和删除 数据操纵 删除数据 插入数据 更新数据
SQL概述 【例4-1】建立系表(系号,姓名),要求“系号”字段不为空
CREATE TABLE 系表(系号 C(2) NOT NULL,姓名 C(20))
【例4-2】建立学生表(学号,姓名,性别,年龄),设置 性别默认值为“女”,年龄字段的有效性规则为:年龄> 18,同时年龄<26,出错信息为:年龄应该在1826之间。 CREATE TABLE 学生表(学号 C(9),姓名 C(8), 性别 C(2) DEFAULT "女",年龄 n CHECK 年龄>18 AND 年龄<26 ERROR "年龄应该在1826之间") 【例4-3】 创建教师表(编号,姓名,职称),其中 编号为主关键字,要求姓名不重复。 CREATE TABLE 教师表(编号 C(6) PRIMARY KEY,姓名 C(8) UNIQUE,职称 C(10))
创建临时表 视图定义 和删除 数据操纵 删除数据 插入数据 更新数据
创建临时表 CREATE CURSOR <表名>(<字段名1><类型> [(<宽度>[,<小数位数>])][,<字段名2> <类型> [(<宽度>[,<小数位数>])]] …)
① 临时表的生命周期为从建立该表到关闭该表的 这段时间有效。 ② 临时表的扩展名为.TMP。
4.2.2 数据定义
SQL概述
数据定义 表的定义、 修改和删除
创建临时表 视图定义 和删除 数据操纵 删除数据 插入数据 更新数据
修改表结构 格式1:ALTER TABLE <表名> ADD <字段名1> <类型>[(长度[,小数位数])] 添加新的字段,包括属性的类型、宽度、有效性规则、 错误信息和默认值,定义索引和联系等。 格式2:ALTER TABLE <表名> ALTER COLUMN <字段名1> <类型>[(长度[,小数位数])][NULL |NOT NULL][SET CHECK<表达式1>[ERROR <字符串>]][DROP CHECK][SET DEFAULT <表达式2>][DROP DEFAULT] 修改字段定义,定义和删除字段有效性规则和默认值。 格式3:ALTER TABLE <表名>[DROP <字段名1>] [RENANE COLUMN <字段名2> TO <字段名3>] 可更改字段名,也可删除字段。