数据库和表操作复习2.docx
- 文档编号:30545849
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:18
- 大小:22.53KB
数据库和表操作复习2.docx
《数据库和表操作复习2.docx》由会员分享,可在线阅读,更多相关《数据库和表操作复习2.docx(18页珍藏版)》请在冰豆网上搜索。
数据库和表操作复习2
数据库和表操作复习一
A、数据表
1、表的分类
名称
自由表
数据库表
定义
可独立存在和独立使用的表文件,与数据库文件无关
存在于数据库中的表
特点
字段名允许10个字符
字段名允许128个字符
打开方式
直接用USE<表文件>命令打开
先打开数据库OPENDATABASE
再用命令打开USE<表文件>
2、表的构成
1、数据:
由不同数据类型数据构成
2、结构:
记录和字段
记录不决定表的结构
字段决定表的结构,主要有以下几类:
字段名
字段名,只能包含英文、数字、汉字、下划线,不能有空格,第一个不能是数字
字段类型
该字段中存储数据的类型
字段宽度
存放数据的最大位数
小数位数
小数点后的位数
3、表的创建
1、使用表向导创建自由表
2、项目管理器中创建表
3、使用命令创建表
Create<新表文件名>
功能:
打开设计器新建表
4、使用SQL命令创建表(P49)
CreateTable|Dbf<表文件名>(字段名1<类型>【(宽度【,小数位数】)】,
字段名2<类型>【(宽度【,小数位数】)】,......)
例:
CreateTablexsda(学号C(8),姓名C(12),性别C
(2),入校总分N(3))
5、复制数据创建表
格式:
CopyTo<表文件名>[FIELDS字段列表][FOR<条件>]
功能:
复制当前表的数据,创建新表
说明:
Fields|FOR可以复制指定字段和满足条件的记录
6、复制表结构创建表
格式:
CopyStructureTo<表文件名>【Fields字段列表】
功能:
复制当前表的结构,创建一个新表
说明:
Fields指定字段复制到新表中
4、表的打开
1、命令格式:
USE<表文件名>[NOUPDATE][EXCLUSIVE|SHARED]
[IN工作区号][ALIAS别名]
功能:
在当前工作区中打开表。
表打开时,若该表有备注型或通用型字段,则自动打开与表文件的主文件名相同的.FPT文件。
说明:
①[NOUPDATE]选项指以只读方式打开表;[EXCLUSIVE]选项指在网络上以独占的方式方式打开表;[SHARED]选项指在网络上以共享方式打开表。
VisualFoxPro系统默认方式为独占方式。
②打开新表时,该工作区中原来打开的表会自动关闭。
(因为系统给定,每个工作区只能打开一个表文件)
③已打开的表总有一个记录指针,指针所指的记录为当前记录。
表刚打开时,记录指针指向第一个记录。
2、项目管理器中打开表(修改、浏览)
3、菜单打开表(文件---打开)
4、数据工作期窗口打开表(窗口---数据工作期打开)P66
5、表的关闭
1、命令方法:
USE【IN工作区号|IN别名】
功能:
关闭指定工作区中打开的表
2、关闭所有文件命令:
CLOSEALL
6、删除表
不使用或没有用的表可以进行删除
1、直接选择.DBF文件进行删除
2、在项目管理器中删除
3、使用命令删除(SQL)
DROPTABLE<表文件名>
B、数据库
一、数据库的创建
1、项目管理器创建
2、菜单创建
3、使用命令创建
格式:
CreateDatabase<数据库名|?
>
功能:
创建一个数据库
说明:
如果选择?
,则在创建数据库时会打开创建对话框要求输入数据库名
二、数据库的打开
1、项目管理器中打开
2、使用菜单或常用工具栏打开:
文件---打开---选择数据库
3、使用命令打开
格式:
OPENDATABASE<数据库名>
功能:
打开指定的数据库
三、数据库的关闭
1、使用命令关闭
格式:
CLOSEDATABASE
功能:
关闭当前数据库
2、使用项目管理器关闭
3、使用关闭所有文件命令
格式:
CLOSEALL
功能:
关闭所有打开的文件
4、设置当前数据库
我们同一时刻只能多一个数据库进行操作,当打开多个数据库时,需要设置当前数据库以便操作。
系统默认最后打开的数据库为当前数据库。
1、使用工具栏设置:
常用工具栏---数据库----下栏按钮选择
2、使用命令设置
SETDATABASETO【数据库名】
功能:
将数据库设置为当前数据库
说明:
使用SETDATABASETO命令可取消当前数据库的设置,但不关闭数据库
5、删除数据库
1、项目管理器中删除:
移去
2、使用命令删除数据库(P53)
格式:
DeleteDatabase<数据库名|?
>
6、数据库中创建表
1、表向导创建表
2、表设计器中创建表
3、数据库设计器中创建表
4、使用Create命令创建表
7、数据库中添加移去表(自由表与数据库表转换)
1、项目管理器中添加、移去表
2、数据库设计器中添加表、移去表
3、命令添加、移去表
ADDTABLE<自由表>
REMOVETABLE<数据库表名>
数据库和表操作复习二
1、工作区
1、概念:
内存中的一块区域。
2、特点:
VF提供了32767个工作区
每个工作区中可以打开一个表,同时自动关闭已打开的表
工作区使用1~32767作为工作区编号,同时使用A~J作为前十个工作区别名
3、当前工作区:
当前正在使用的工作区(惟一)
4、当前表:
当前工作区中打开的表(惟一)
5、当前记录:
当前表中记录指针所指向的记录(惟一)
6、选择当前工作区:
SELECT<工作区号|别名>
例:
SELECTBSELECT10
2、显示与修改表结构
1、显示表结构
命令格式:
DISPLAY|LISTSTRUCTURE【IN工作区号|IN别名】
【TOPRINTER|TOFILE文件名】
功能:
显示当前表的结构
说明:
DISPLAY分屏显示
LIST滚动方式
2、修改表结构(由四个部分组成,修改类型时可能导致数据丢失)
A、在项目管理器中打开表设计器修改表结构(修改按钮)
B、使用菜单打开表设计器修改表结构(显示---表设计器)
C、使用数据库设计器打开表设计器修改表结构
D、使用命令打开设计器修改表结构
MODIFYSTRUCTURE
E、SQL命令修改表结构
格式:
ALTERTABLE<表文件名>ADD|ALTER<字段名><类型>
【(宽度【,小数位数】)】【CHECK表达式【ERROR错误提示信息】】
【DEFAULT默认值】【PRIMARYKEY|UNIQUE】
功能:
修改指定的表
说明:
ADD添加字段ALTER修改字段
CHECK字段有效性规则
ERROR不满足有效性规则的提示信息
DEFAULT字段默认值
UNIQUE创建候选索引
3、显示与编辑数据
1、项目管理器中浏览编辑数据(浏览)
2、菜单打开浏览窗口浏览编辑数据(显示---浏览)
3、使用数据库设计器打开浏览窗口浏览编辑数据(数据库---浏览)
4、使用命令浏览编辑数据
格式:
BROWSE【FIELDS字段列表】【FOR条件】【FREEZE字段名】
【LOCK锁定字段数】【NOAPPEND】【NODELETE】【NOEDIT】
功能:
浏览编辑当前表数据
说明:
FREEZE将光标冻结在指定字段上,只能修改该字段的值
LOCK将浏览窗口分成两个窗口
NOAPPEND不能向表中添加新记录
NODELETE指定不能删除记录
NOEDIT不能修改记录数据
5、命令显示数据
格式:
DISPLAY|LIST【FIELDS字段列表】【范围】【FOR条件】
【TOPRINTER|TOFILE文件名】【OFF】
功能:
显示当前表指定数据
说明:
OFF不显示记录号
TOPRINTER结果输出到打印机
TOFILE结果输出到指定的文本文件
6、使用命令编辑数据
格式:
EDIT|CHANGE【FIELDS字段列表】【范围】【FOR条件】
功能:
编辑当前表的记录
7、成批替换数据
格式:
REPLACE【<范围>】【FOR条件】
<字段名>WITH<表达式>【,<字段名>WITH<表达式>】…
8、SQL更新数据
格式:
UPDATE<表名>SET<列名>=<表达式>【,<列名>=<表达式>】…
四、记录的操作
1、记录的插入追加
A、插入新记录
格式:
INSERT【BLANK】【BEFORE】
功能:
在当前表中当前记录指针位置处插入新记录
说明:
BEFORE当前记录之前,缺省则在当前记录之后
BLANK插入一条空白记录
B、记录追加
格式:
APPEND【BLANK】
功能:
在当前表的表尾追加新记录
说明:
BLANK追加一条空白记录(只能追加一条)
C、INSERTINTO表名【(字段名1【,字段名2,...】)】
VALUES(表达式1【,表达式2,...】)
功能:
在表尾追加一条新记录,并赋值
说明:
字段名与值的类型和顺序要求一致
D、APPENDFROM<文件名>【Fields<字段名表>】【FOR条件】
功能:
在当前表尾追加一批记录,这些记录来自于另一个文件
E、APPENDFROMARRY<数组名>【Fields<字段名表>】【FOR条件】
功能:
在当前表尾追加一批记录,这些记录来自于数组
2记录的删除
A、逻辑记录删除
格式:
DELETE【<范围>】【FOR<条件>】
功能:
指定范围内对满足条件的记录加上删除标记
说明:
若缺省,只删除当前记录
B、物理删除
格式:
PACK
功能:
物理上删除带有删除标记的记录
C、记录恢复
格式:
RECALL【<范围>】【FOR<条件>】【WHILE<条件>】
功能:
对指定范围内满足条件的记录,去掉删除标记,若缺省只恢复当前记录
D、记录清除
格式:
ZAP
功能:
物理上删除当前表中的所有记录
说明:
改命令等价于:
DELETE+PACK
3、记录的修改
A页式编辑EDIT
B编辑修改CHANGE
C成批修改数据REPLACE(UPDATE)
D浏览修改数据BROWSE
4、记录的过滤
格式:
SETFILTERTO【<条件>】
功能:
从表中过滤出符合条件的记录
说明:
缺省时表示取消所设置的过滤器
5、字段的过滤
格式:
SETFIELDSTo【<字段表>|ALL】
功能:
为当前表设置字段过滤器
说明:
多个字段之间用“,”分隔
SETFIELDSON|OFF决定字段名表是否有效(ON时只能访问相关字段)
数据库和表操作复习二
(查询、统计、多表操作)
一、表文件的排序
1、物理顺序:
表中的记录按建表时输入数据的先后顺序存储,这种顺序称为物理顺序。
2、逻辑顺序:
为了提升数据处理效率,对记录位置重新整理,并按某种顺序进行处理,这种顺序称为逻辑顺序。
3、对记录位置进行重新整理有两种方法:
排序:
是对表文件进行物理位置的整理
索引:
是对表文件进行逻辑位置的整理
4、表文件的排序(物理排序):
就是根据表的某个关键字或关键字表达式重新排列表记录的位置
格式:
SORTTO<新文件名>ON<字段名1>【/A】【/D】【/C】【,<字段名2>【/A】【/D】【/C】...】【Ascending|Descending】【范围】【FOR条件】【FIELDS字段表】
功能:
对当前表中指定范围内、满足条件的记录,按指定字段升序或降序重新排序,并将结果存入新文件名中
说明:
A、新文件名系统默认为.dbf
B、ON中的字段为排序关键字
C、关键字的类型只能是N、C、D
D、参数【/A】表示升序【/D】表示降序:
默认升序
【/C】文本类型时不区分大小写,省去时大写字母小于小写字母
E、FIELDS字段表指定新表中包含的字段,省去时包含源表所有字段
5、索引(逻辑排序)
A、索引文件:
由指向表文件记录的指针构成,在逻辑上按照指定索引关键字排序,索引不改变表记录的物理顺序,只是与表记录建立一种逻辑关系。
B、索引文件与(.CDX)表文件(.DBF)是对应关系,同时存在,且索引只包含索引关键字与记录号,是一种不可显示文件。
C、索引分类
单索引文件:
只包含一个索引项的所有文件,其扩展名为.IDX
复合索引文件:
包含多个索引项的所有文件,其扩展名为.CDX
复合索引文件中每个索引项都有一个索引标识
复合索引文件自动被压缩,以压缩方式存储,占用空间小
复合索引文件在使用时必须先打开
复合索引文件分为:
有结构的结构复合索引:
与表文件同名,随表文件的打开而打开
无结构的独立复合索引:
与表不同名,不能随表打开,用setindexto打开
复合索引文件类型对比(下表)
索引名
数据库表
自由表
值惟一
数量
主索引
是
是
候选索引
是
是
是
多
普通索引
是
是
否
多
惟一索引
是
是
多
D、索引的建立
a、命令方式:
格式:
INDEXON<索引关键字|索引关键字表达式>TO<单索引文件名>|TAG<索引文件标识>【OF<复合索引文件名>】【FOR条件】【ASCENDING|DESCENDING】【UNIQUE|CANDIDATE】【ADDITIVE】
功能:
对当前表文件按指定关键字建立索引
说明:
索引关键字若是多个字段应使用“+”或“-”连接
索引关键字要求数据类型相同,可以是N、C、D
TO子句建立单索引
UNIQUE建立惟一索引
CANDIDATE建立候选索引
ADDITIVE建立索引时并不关闭先前索引
索引文件不能单独使用,必须和表文件一起使用
默认建立普通索引,默认顺序为升序
b、菜单方式建立索引
方法:
文件---打开---表---显示---表设计器---索引---索引名
E、索引的使用
a、使用索引满足的条件:
打开表
打开索引文件
确定主控索引文件
对于复合索引文件还需要确定主控索引
b、打开索引文件
一个表文件可以打开多个索引,但任何时刻只能有一个索引文件起作用,当前起作用的索引文件称为主控索引文件
同一个复合索引文件可能包含多个索引标识,但任何时刻只有一个索引标识起作用,当前起作用的索引标识称主控索引
建立索引文件的同时,就打开了索引文件
打开表文件的同时打开索引文件
命令:
USE<表文件名>【INdex<索引文件名表>】【ORDER【<数据表达式>】|【TAG】<标识名>】【Ascending】【Descending】
例:
usexsindex学生ordertagxh
打开表文件后,在打开索引文件
命令:
SETINDEXTo<索引文件名表>【ADDITIVE】
例子:
usexs
Setindextozf
c、设置主控索引
当打开多个索引文件时,可以利用命令来改变主控索引文件
格式:
SETORDERTO【<数值表达式>|<单索引文件名>|【TAG】<索引标识名>】
功能:
对打开的索引文件指定主控索引文件
说明:
SETORDERTO0
SETORDERTO都是取消主控索引文件或主控索引
d、更新索引
对当前表进行追加修改后,对于打开的索引文件或随着表文件自动打开的复合索引文件系统自动将其更新
对于没有打开的索引文件,需要重新索引
格式:
REINDEX
F、关闭索引文件
关闭索引文件,就是取消索引文件对表文件的控制作用
方法:
关闭当前索引文件SETINDEXTO
关闭所有索引文件CLOSEINDEX
关闭表文件的同时,关闭索引文件USE
G、索引文件的删除
格式:
DELETETAGALL|<索引标识1>....
2、查询
1、查询:
就是对指定的查询条件查找复合条件的记录,排序和索引的目的就是快速查询。
2、查询相关函数
A、记录是否找到测试函数
格式:
FOUND()
功能:
判断记录是否找到
说明:
记录找到,函数返回.T.;记录未找到,函数返回.F.
B、求的记录号函数
格式:
RECNO(0)
功能:
给出当前正在使用的表的当前记录号
3、顺序查询(物理查找)
格式:
LOCATE【范围】【FOR条件】|【WHILE条件】
功能:
在指定范围内查找满足条件的第一个记录,并将记录指针定位在此
说明:
缺省子句默认为ALL
若找到第一条满足条件的记录,记录指针指向该记录,并停止继续查找
若未找到记录,记录指针定位在范围末尾
CONTINUE子句联合实现继续查找满足条件的记录,该子句在LOCATE之后,
且每执行一次CONTINUE将继续查找下一个复合条件的记录
4、索引查找(逻辑查找)
索引查找又称快速查找,要求被查找表文件要建立索引并打开
A、FIND命令
格式:
FIND<字符型变量>|<数值型常量>
功能:
查找与指定关键字相符的第一个记录,并将指针定位于此
说明:
FIND命令课使用内存变量,
如果是C型内存变量,必须宏代换(FIND&
如果是N型内存变量,先转换为C型内存变量,再用宏代换
FIND命令只查找符合条件的第一个记录,与SKIP子句配套实现继续查找
字符查找时,条件比较与SETEXACTON/OFF有关
B、SEEk命令
格式:
SEEK<表达式>
功能:
查找与表达式相匹配的第一个记录
说明:
可以查找C、N、D、L型数据
如果查找C型常量,必须用界定符将C常量括起来
SEEK命令只查找符合条件的第一个记录,与SKip命令配套实现继续查找
查找C型字段时,与SETEXACTON/OFF相关
三、统计
1、计数命令
格式:
COUNT【范围】【FOR<条件>】【To<内存变量>】
功能:
统计当前表文件中指定范围内满足条件的记录个数
说明:
选择TO将结果保存的内存变量中,否则只显示
注意区别RECCOUNT()函数
2、求和命令
格式:
SUM【范围】【
功能:
对指定范围内满足条件的N型字段从向求和
说明:
选择N型字段表达式表,则对指定N型字段求和,各字段间用逗号隔开
求和结果存入内存变量或数组
3、求平均值
格式:
AVERAGE【范围】【
功能:
对指定范围内满足条件的N型字段从向求平均值
选择N型字段表达式表,则对指定N型字段求平均值,各字段间用逗号隔开
求平均值结果存入内存变量或数组
4、计算命令
格式:
Calculate【范围】【
功能:
当前表中,分别计算表达式的值
说明:
表达式由下列函数组成:
AVG(),MAX(),MIN(),SUM()
例:
use学生
CalculateMax(入校总分),Min(入校总分)
5、汇总命令
格式:
TOTALOn<关键字>To汇总文件名【范围】【FOR条件】【FIELDSN型字段】
功能:
对指定范围内满足条件的记录按指定关键字段分类汇总求和,并生成一个新表文件(又叫汇总文件)
说明:
使用TOTAL之前,表文件必须按关键字排序或索引
FIELDSN型字段,对指定N型字段分类求和,缺省对所有字段分类求和
关键字若为C型字段时,把与关键字相同的第一条记录的字段值存入汇总文件
关键字若为N型字段时,则把与关键字值相同的记录中该字段值求和后存入汇总文件
四、多表操作
1、关联
2、工作区
3、关联方法(临时关系)
4、物理连接(永久关系)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 操作 复习
![提示](https://static.bdocx.com/images/bang_tan.gif)