命令复习

  • 格式:doc
  • 大小:83.00 KB
  • 文档页数:9

一、创建数据表的结构 命令1:CREATE TABLE ([([,,])][,<字段名2>...]) 例子:创建DX数据表。 CREATE TABLE dx(编号 c(5),年月 c(4),费用 n(6,1)) LIST STRUCTURE &&显示DX.DBF的结构 INSERT INTO dx VALUES("016-1","8911",2763.5) INSERT INTO dx VALUES("016-1","9112",3520.0) INSERT INTO dx VALUES("037-2","9206",6204.4) INSERT INTO dx VALUES("038-1","8911",2850.0) LIST OFF &&显示所有记录 ALTER TABLE dx ADD 摘要 m(4) LIST ALTER TABLE dx DROP 摘要 LIST USE 二、表结构的显示 命令:LIST STRUCTURE DISPLAY STRUCTURE 例子:显示当前数据表在结构。 LIST STRUCTURE 三、数据表的打开 命令:USE 表名 [INDEX 索引文件名] [EXCLUSIVE] 例子:打开GZ1数据表。 USE GZ1 数据表的关闭 命令:USE 例子:关闭当前打开的数据表。 USE 四、表结构的修改 命令:MODIFY STRUCTURE 例子:修改当前数据表的结构。 MODIFY STRUCTURE 五、数据库结构复制命令 COPY STRUCTURE TO [FIELDS] 例子: COPY STRUCTURE TO sb2 FIELDS 名称,价格,编号,备注 六、用复制方法建新表 命令:COPY TO 新表名 [范围][FIELDS 字段表][FOR 条件] 例子:把当前表中“应发合计”大于1000元的记录复制到新数据表GZ2中。 COPY TO GZ2 FOR 应发合计>1000 Copy to a2 fields 名称,编号 for left(部门,1)=”2” 例:将数据库JS.DBF中的男性的"姓名"、"出生日期"、"职称"、"工资总额"复制到NXJS.DBF中,应使用命令是。 USE JS.DBF COPY TO NXJS.DBF FOR 性别="男" FIELDS 姓名、出生日期、职称、工资总额

USE sb COPY TO a1 &&对sb.dbf原样复制,同时生成A1.DBF与A1.FPT COPY TO a2 FIELDS 名称,编号 FOR LEFT(部门,1)="2" &&A2.DBF只含有各车间所具设备的名称与编号两个字段内容,而且名称排在编号前 LIST &&显示SB.DBF的记录数据 USE a2 LIST &&显示a2.DBF的记录数据 USE

USE sb COPY TO b1 NEXT 3 SDF &&以系统数据格式复制,产生文本文件B1.TXT TYPE b1.txt &&用TYPE命令显示文本文件B1.TXT的内容 USE

APPEND FROM b1 SDF 七、从其他表取数据 命令:APPEND FROM 表名 [FOR 条件] 例子:把GZ1表中“应发合计”大于1000的记录复制到当前的表后面。 APPEND FROM GZ1 FOR 应发合计>1000 USE sbb APPEND FROM a1 FIELDS 名称,价格 &&A1.DBF中7个记录的2个字段值追加到SBB.DBF的末尾 USE sbb APPEND FROM b1 SDF &&B1.TXT是系统数据格式的文本文件 LIST 八、表数据的输入 命令:APPEND [BLANK] 例子:向当前数据表追加数据。 APPEND 九、表记录的显示 命令:BROWSE [FIELDS 字段表][FOR 条件] LIST [范围][[FIELDS]字段表][FOR 条件] DISPLAY [范围][[FIELDS]字段表][FOR 条件] 例子:显示当前表中“应发合计”大于1000元的记录的职工编号、姓名、应发合计三个字段。 BROWSE FIELDS 职工编号,姓名,应发合计 FOR 应发合计>1000 LIST 职工编号,姓名,应发合计 FOR 应发合计>1000 若数据库文件CJGL.DBF中有性别和平均分两字段,要显示平均分超过90和不及格的全部女生记录. USE CJGL.DBF LIST FOR 性别="女".AND.(平均分>90 .OR. 平均分<60) GO 2 LIST NEXT 5 FOR 价格>10000 List record 5 fields 编号,名称,价格

USE sb LIST NEXT 3 LIST 部门,编号,名称,备注 FOR 部门="21" LIST 编号,名称,价格*0.9,启用日期 FOR YEAR(启用日期)<1995 OFF

十、记录指针定位 命令:GO n|TOP|BOTTOM (绝对移动) SKIP [±n] (相对移动) 例子:把记录指针移到第1条记录。 GO TOP GO 4 SKIP -1 SKIP

十一、记录的插入 命令:INSERT [BLANK][BEFORE] 例子:在当前记录后插入一条空记录。 INSERT BLANK 十一、修改记录 命令:EDIT [范围][[FIELDS]字段表][FOR 条件] 例子:进入修改记录状态。 EDIT 十二、替换记录 命令:REPLACE [范围] WITH [additive] [, WITH [additive]]....[FOR 条件][WHILE] 例子:计算各记录“应发合计”字段的值。 REPLACE ALL 应发合计 WITH 职务工资+岗位津贴+保留奖金+保留津贴 在数据库JS.DBF中,要为所有讲师增加50元工资应使用命令. REPLACE ALL 工资 WITH 工资+50 FOR 职称="讲师"

USE a1 REPLACE 价格 WITH 价格-1000,部门 WITH "11" FOR 主要设备 &&主要设备的价格都减少1000,部门均改为11 LIST APPEND BLANK &&追加一个空白记录 REPLACE 编号 WITH "301-1",名称 WITH "扫描仪" 十三、删除记录 命令:DELETE [范围][FOR 条件] (打删除标记) PACK (删除有删除标记的记录) ZAP (删除所有记录) recall [范围][FOR 条件] 例子:删除“职工编号”空白的记录。 DELETE ALL FOR 职工编号="" PACK Delete for 价格<=20000 and 价格>10000 Recall for left(编号,1)=“1” Pack DELETE FOR NOT 主要设备 十四、数据表排序 排序——是物理排序,生成一个新的表文件。 命令:SORT TO 新表名 ON 字段名 [/A][/D] [范围][FOR 条件] 例子:把当前表中记录按“应发合计”从大到小重新排序。 SORT TO GZ3 ON 应发合计 /D 打开数据库文件JS.DBF,将所有记录先按工资总额大小,再按出生日期先后排序,生成JSGZ.DBF。 USE JS.DBF SORT TO JSGZ.DBF ON 工资总额/D,出生日期/A

SORT TO bmx ON 部门/D,价格 FOR 主要设备 SORT TO rqx ON 价格/D FIELDS 编号,名称,启用日期 十五、数据表索引 索引——是逻辑排序,生成一个索引文件。 (一)单索引文件:IDX 命令: 新建索引:INDEX ON 字段名表达式 TO 索引文件名 同时打开:USE 表名 INDEX 索引文件名 之后打开:SET INDEX TO 索引文件名 重新索引:INDEX ON 字段名表达式 TO 索引文件名 关闭索引:SET INDEX TO 例子:对当前数据表以“应发合计”从大到小排列。 INDEX ON -应发合计 TO GZ

对XJGL.DBF数据库文件建立出生日期单索引文件XJGL.IDX。 USE XJGL INDEX ON 出生日期 TO XJGL

(二)复合索引文件:CDX 命令: 新建索引:INDEX ON 字段名 TAG 标记 [ASCEDING|DESCENDING] 同时打开:USE 表名 ORDER [TAG] 标记 改变索引:SET ORDER TO [TAG] 标记 重新索引:INDEX ON 字段名 TAG 标记 关闭索引:SET ORDER TO 删除索引:DELETE TAG 标记 例子:对当前数据表以“应发合计”从大到小排列。 INDEX ON 应发合计 TAG HJ DESC 在数据库文件XJGL.DBF,建立一个基于出生日期字段的结构复合索引文件。 USE XJGL INDEX ON 出生日期 TAG 出生日期 例:在数据库文件XSCJ.DBF,按总分字段降序建立一个复合索引文件ZF.CDX USE XSCJ INDEX ON 总分 TAG 总分 OF ZF.CDX DESCENDING

USE sb INDEX ON 价格 TAG jg DESCENDING &&建立SB.CDX,关键字价格,JG为普通索引型索引标识 LIST &&记录已按价格降序排列 INDEX ON 部门+STR(价格,9,2) TAG bmjg &&关键字为字符表达式"部门+STR(价格,9,2)",索引标识BMJG增入SB.CDX LIST &&索引表达式运算后升序排列,使记录按部门升序,部门相同按价格升序排序 INDEX ON 部门+STR(价格-500000) TAG bmjg1 CANDIDATE &&bmjg1为候选索引型索引标识,索引标识增入SB.CDX LIST &&索引表达式运算后升序排列,使记录按部门升序,部门相同按价格降序排列 USE 十六、查找记录 (一)顺序查找 命令:LOCATE FOR 条件 [范围] 继续查找命令:CONTINUE 例子:在当前的表中查找姓“张”的记录。 LOCATE FOR 姓名="张"

编写一个程序显示数据库JS.DBF中所有男教师的姓名,工资总额。 SET TALK OFF CLEAR USE JS" LOCATE FOR 性别="男" DO WHILE .NOT.EOF() ?"姓名:"+姓名 ??"工资总额:"+工资总额 CONTINUE ENDDO

Jg=1000 Zk=0.8