学历改变命运
24小时客服:4008135555/010-82335555
当前位置:首页 > 笔记串讲 > 06版自考《数据库及其应用》笔记(10)

06版自考《数据库及其应用》笔记(10)

2006年12月15日    来源:   字体:   打印

  附:函数及命令

  函数P75 数值函数

  1、绝对值 ABS(<数值表达式>) 2、取整 INT(<数值表达式>) 3、更大值MAX(N1,N2,…)4、更小值 MIN( N1,N2,…) 5、平方根SQRT(<数值表达式>) 6、EXP(<数值表达式>)=eX 7、LOG(<数值表达式>)=LnX

  8、正弦 SIN(<数值表达式>) 9、余弦 COS(<数值表达式>) 10、正切 TAN(<数值表达式>) (*弧度表示)

  11、0-1之间随机数 RAND([<数值表达式>])(数值表达式为负,从当前时钟取种子数)

  12、四舍五入ROUND(<数值表达式1>,<保留位数>)*保留位数为负表示其绝对值为整数部分四舍五入的位数

  字符串函数

  1、字符串长度LEN(<字符表达式>)2、删尾部空格TRIM(<字符表达式>)3、删头部空格LTRIM(<字符表达式>)

  4、取子串SUBSTR(<字符表达式>,<从第几个开始>,[<取几个字符>]) 5、首字母大写PROPER(<字符表达式>)

  6、子字符串查找AT(<字符表达式1>,<字符表达式2>)返回式1在式2的开始位置,没找到返回0,区分大小写

  7、子串替换STUFF(<字符表达式1>,<数值表达式1>,<数值表达式2>,<字符表达式2>)

  8、大小变小写LOWER(<字符表达式>)9、小写变大写UPPER(<字符表达式>)10、空格SPACE(<空格数量>)

  11、字符串复制REPLICATE(<字符串>,<复制次数>)12、宏替换&<内存变量>[,<字符串>]

  日期和时间函数

  1、取系统日期DATE() 2、取系统时间TIME()3、取年份YEAR(<日期表达式>)4、取日DAY(<日期表达式>)

  5、取月份MONTH(<日期表达式>)6、日期格式转换MDY(<日期表达式>)(月日年格式)

  数据类型转换函数

  1、字符转数值VAL(<字符表达式>)2、字符转日期CTOD(<字符表达式>)

  3、日期转字符DTOC (<日期表达式>[,1])带可选项“1”返回一个适于进行索引的日期字符串

  4、数值转字符STR(<数值表达式1>[,<返回字符串长度>[,<小数部分输出位数>]])

  测试函数

  1、数据类型测试TYPE(<字符表达式>)2、测试文件尾EOF([<工作区号>|<文件别名>])

  2、测试文件头BOF([<工作区号>|<文件别名>])4、测试当前记录号RECNO([<工作区号>|<文件别名>])

  5、测试库文件记录数RECCOUNT([<工作区号>|<文件别名>])6、测试屏幕行列坐标ROW()、COL()

  7、测试是否查找成功FOUND([<工作区号>|<文件别名>])8、测试打印头坐标PROW()、PCOL()

  数据库基本*作

  内存变量赋值:1、store <表达式> to <内存变量表>2、<内存变量>=<表达式>

  3、save screen to <屏幕型内存变量> restore screen from <屏幕型内存变量>

  内存变量释放:1、release <内存变量表> 2、release all [like|except<通配符>] 3、clear memory 4、clear all

  内存变量文件建立:save to <内存变量文件名>[all [like|except<通配符>]]

  内存变量恢复:restore from <内存变量文件名> [additive]无additive消除当前内存中变量,有additive保留变量

  内存变量显示:1、list memory [to print] 2、display memory [to print]

  内存变量输出: ?|??[<表达式表>] ?从当前光标所在行的下一行第0列开始显示,??从当前光标所在处开始显示

  数组定义:dimension|declare <数组名1>(<数值表达式1>[,<数值表达式2>])[,<数组名2>(<数值表达式3>[<数值表达式4>])]… 数组元素赋值:1、store <表达式> to <数组> 2、<数组>=<表达式>

  数据库文件记录值传送到数组scatter[fields<字段表>] to <数组> [blank] memvar [blank]

  数组中的数据传送到数据库文件gather from<数组>| memvar [fields<字段表>]

  建数据库文件结构create[<文件名>|?] 追加记录append[blank] 数据库文件打开use[<库文件名>|?][alias<别名>]

  记录显示list | display[<范围>][fields<字段名表>][for<条件>][while<条件>][off][to printer|file<文件名>]

  范围:record n第n条记录*作,next n下n条记录*作,all所有记录*作,rest当前到文件结束所有记录*作

  off 不显示记录 关闭当前工作区数据库use 关闭当前打开的所有数据库 close databases关闭所有close all

  关闭索引文件 close indexes 关闭格式文件 close format 关闭过程文件 close procedure

  关闭后备文本文件 close alternate 显示数据库结构list|display structure[to printer|to file<文件名>]

  修改库结构 modify structure (生成。bak和。tbk文件,修改字段类型该字段数据丢失,不能同时修改字段名和宽度)

  绝对移动go|goto[[record]<记录号>|top|bottom][in <工作区号>|<文件别名>](第一个记录:键值更小的记录)

  相对移动skip[<移动记录数>][in <工作区号>|<文件别名>]插入记录insert[before][blank]before:前,blank空

  逻辑删除delete[<范围>][for<条件>][while<条件>] 恢复逻辑删除recall[<范围>][for<条件>][while<条件>]

  物理删除pack 物理删除所有记录zap 编辑修改edit|change[<范围>][fields<字段名表>][for<条件>][while<条件>]

  浏览编辑browse[<范围>][fields<字段名表>][for<条件>][while<条件>][freeze<字段名>][noappend][nodelete]

  [noedit][font<字体>[,<字号>] freeze<字段名>指定可修改的字段

  替换修改replace[<范围>]<字段1>with<表达式1>[,<字段2>with<表达式2>…] [for<条件>][while<条件>]

  排序 /a升序/d降序/c不区分大小写,关键字只能C、N、D型。可包含相关联工作区文件字段:别名->字段名

  sort to<文件名>on<字段1>[/a][/c][/d][,<字段2>[/a][/c][/d]…][<范围>][fields<字段表>][for<条件>][while<条件>]

  index on<关键字表达式>to<索引文件名>[for<条件>][compact][unique][additive]多字段索引必须是C型。

  compact压缩 unique惟一性索引(若有多条记录具有相同关键字表达式,索引文件只包含第一条记录。Additive不关闭先前打开的索引,新建索引文件成为主索引。关闭索引文件1、set index to 2、close index

  打开索引文件1、use<库文件名>index<索引文件名表> 2、set index to<索引文件名表>

  指定主索引set order to[<索引文件名表中的顺序号>|<索引文件名>] 重建索引reindex[compact]

  顺序查询locate[<范围>][for<条件>][while<条件>]继续查询continue(locate中用while语句,continue无意义)

  索引查询find<字符串>|<数值常量>只能查字符串或数字字符串有前导空格须用引号,否则可不必使用定界符

  seek<表达式> 按指定范围统计满足条件的记录count[<范围>][for<条件>][while<条件>][to<内存变量名>]

  求和:sum[<范围>][<数值表达式>][for<条件>][while<条件>][to<内存变量名表>|to array<数组>]

  求平均值:average[<范围>][<数值表达式>][for<条件>][while<条件>][to<内存变量名表>|to array<数组>]

  分类汇总:total on<关键字表达式>to<分类库文件名>[<范围>][fields<字段名表>][for<条件>][while<条件>]

  库文件复制:copy to<库文件名>[<范围>][fields<字段名表>][for<条件>][while<条件>]

  库结构复制:copy structure to<新库文件名>[fields<字段名表>] 文件复制copy file<源文件名>to<目标文件名>

  库文件复制成文本数据文件:sdf复制成标准格式(各记录定长,字符无分界符)delimited非标准格式数据文件,特点:各记录不定长,每个记录以回车换行为结束标志,字段值之间用逗号分开,字符型数据用双引号括起来。

  copy to<数据文件名>sdf|delimited[with<定界符>|blank][<范围>][fields<字段名表>][for<条件>][while<条件>]

  文本数据到库文件:append from<数据文件名>sdf|delimited[with<定界符>|blank][for<条件>][fields<字段名表>]

  选择工作区select<工作区号>|<别名> 删除关联set relation to

  建立文件关联set relation to[<关键字表达式>|<数值表达式>into<工作区号>|<别名>][additive]

  库文件连接join with<别名>to<新库文件名>[fields<字段名表>][for<条件>] 库文件更新:

  update on<关键字段>from<别名>replace<字段名1>with<表达式1>[,<字段名2>with<表达式2>…][random]

  建立命令文件:modify command[<命令文件名>|?][in window<窗口名>|screen] 命令文件运行:do<命令文件名>

  命令文件注释:1、note<注释>2、*<注释>3、&&<注释> 清屏命令:clear 返回命令return

  accept[<字符表达式>]to<内存变量>接受从键盘输入的字符型数据。Input[<字符表达式>]to<内存变量>接受从键盘输入的数据,wait[<字符表达式>][ to<内存变量>][window[nowait][timeout<等待秒数>]等待一个字符。无字符表达式提示:press any key to continue.window使提示信息显示在系统窗口中。

  格式化输出:@<行,列>say<表达式>[picture“[@功能符串][格式符串]”][font<字体>[,<字号>]]

  格式化输入:@<行,列>[say<表达式>]get<内存变量>|<字段>[picture“[@功能符串][格式符串]”][range<上界>[,<下界>]][[open]window<窗口名>][enable|disable][valid<逻辑表达式1>][when<逻辑表达式2>]

  window指定编辑备注字段窗口(窗口须事先定义)disable|enable是否允许存取该变量

  valid检查get数据正确性,只有逻辑表达式1为真时才能移到下一个get变量。

  定义文本编辑区:@<行,列>edit<内存变量>size<行数>,<列数>font[<字体>[,<字号>]][scroll]

  read[cycle][save]cycle定义一个循环read,可通过tab、enter回到第一个对象,save使对象能被以后的read编辑

  功能符:! 小写变大写;B数值左对齐;D日期型按set date格式;E日期型按日/月/年;Z数值为0时显示空格;$ 货币格式;只支持say:( 负数加括号; C正数后加CR;X负数后加DB.只支持get:A只允许字母字符;J字符右对齐;K光标移到变量时自动删除原内容;T删除字符前后空格

  格式符:X允许任何字符;#显示正负号,只许数字、空格、正负号;!小写变大写;*第一个有效数字前0变*;

  。 小数点位置;, 隔三位插,;只支持say:A数值型用A替换数字; Y逻辑型T变Y,F变N,数值型用Y替换数字; $数值型货币号,字符型$替代字符; 9字符型只许0-9; 只支持get:A只允许字母;L只允许逻辑型;N只允许字母和数字;9只允许数字、正负号;$第一个有效数字前0变$;

  清整个屏幕:clear 清屏幕局部区域:@<行1,列1>[clear|clear to<行2,列2>]

  分支语句:if<条件><命令序列1>[else<命令序列2>]endif 多分支选择语句:do case case<条件1>

  <命令序列1> case<条件2><命令序列2>…case<条件n><命令序列n>[otherwise<命令序列n+1>]endcase

  while循环语句:do while<条件><命令序列1>[loop]<命令序列2>[exit]enddo

  for(给定次数)循环语句:for<循环变量>=<初值>to<终值>[step<步长>]<命令序列>[loop][exit]endfor

  scan循环:scan[<范围>][for<条件>][while<条件>]<命令序列>[loop][exit]endscan

  定义过程:procedure<过程名>[parameters<形参表>]<过程体>return[to master] 过程文件格式:procedure<过程名1><过程体1>return procedure<过程名2><过程体2>return…procedure<过程名n><过程体n>return

  打开过程文件:set procedure to[<文件名>],关闭过程close procedure 调用过程do<过程名>[with<实参表>]

  定义全局变量:public<内存变量表>

  隐藏指定内存变量:1、private<内存变量表>2、private all[like<通配符变量名>]|except<通配符变量名>]

  自定义函数:function<函数名>[parameters<形参表>]<函数体>return<表达式> 调用函数:函数名([<实参表>])

  定义窗口:define window<窗口名1>from<左上角行号,列号>to<右下角行号,列号>[double|panel|system|<border string>|shadow][in window <窗口名2>][title<标题>][font<字体>[,<字号>][close][float][grow][zoom][minimize]

  边框样式double双线、panel粗线、system模拟命令窗口、默认单线。border string字符串边框,shadow阴影

  in window定义在指定的父窗口内[close关闭][float移动][grow改变大小][zoom更大化][minimize更小化]

  激活窗口:activate window<窗口名1>|<all>in window<窗口名2>休眠窗口:deactivate window<窗口名>[all]

  释放窗口:release window<窗口名表> 显示、隐去窗口show/hide window<窗口名表>|<all>

  1、定义水平菜单:define menu<菜单名>[in window<窗口名>][key<热键>]

  2、定义菜单选项:define pad<选项名>of<菜单名>prompt<提示>[at<行,列>][key<热键>]

  3、设置菜单命令:on selection pad<选项名>of<菜单名><命令> 4、激活菜单:activate menu<菜单名>

  5、定义弹出菜单:define popup<菜单名>[from<左上角行,列>]

  6、定义菜单选项:define bar<选项号>of<菜单名>prompt<提示>[key<热键>]

  7、设置菜单命令:on selection bar<选项号>of<菜单名><命令> 8、激活菜单:activate popup<菜单名>

  9、下拉菜单中定义PAD选中后执行的弹出菜单:on pad<选项名>of<水平菜单名>activate popup<弹出菜单名>

  10、二级弹出菜单:on selection bar<选项号>of<菜单名> activate popup<二级菜单名>

  下拉菜单设计命令:1,2,9(3),5,6,7(10),4(弹出菜单已经在水平菜单中激活)

  建立create <menu|screen|report|project> <文件名>(菜单文件|屏幕文件|报表文件|项目文件)

  修改modify <menu|screen|report|project> <文件名>(菜单文件|屏幕文件|报表文件|项目文件)

  运行do <menu|screen|report|project> <文件名>(菜单文件|屏幕文件|报表文件|项目文件)

  对象可以用show get <变量名>[enable|disable]激活或关闭 show gets<变量表>enable

  设置参数值set<参数名>to<参数值> 设置状态值:set<参数名>on|off

  set print on(off)打印机逻辑开关 set deleted off(on)off时被逻辑删除的记录仍参与*作

  set exact on(off)find查询是否精确匹配 set development on(off) 是否自动重新编译、替代目标文件

  set talk on(off)命令执行是否给出回应,set console on(off)非格式化输入数据是否回显

  set device to screen(print|file<文件名>)设置输出设备 set udfparms to [value|reference]设置传递方式

  set default to<目录>设置默认目录 set sysmenu on(off)设置是否显示系统菜单

  SQL语言

  建库文件create table|dbf<库文件名>(<字段名1><类型>[(<长度>[,<小数位>])][,<字段名2>…])|from array<数组>

  建临时库文件create cursor<文件名>(<字段名1><类型>[(<长度>[,<小数位>])][,<字段名2>…])|from array<数组>

  数据插入insert into<库文件名>[(<字段名1>[,<字段名2>…])]value(<表达式1>[,<表达式2>…])

  insert into<库文件名>from array<数组>|from memory 数据删除 delete from<库文件名>where<条件>

  数据修改update<库文件名>set<字段名1>=<表达式1>[,<字段名2>=<表达式2>…][where<条件>]

  数据查询select[all | distinct][<别名>.]<检索项>[,[<别名>.]<检索项>…]from<库文件名>[<别名>][,<库文件名>]

  [<别名>…][into<目标>]|[to file<文件名>[additive]|to printer|to screen][where<连接条件>[and<连接条件>]

  [and|or<过滤条件>[ and|or<过滤条件>…]]][group by<分组列>[,<分组列>…]][having<过滤条件>]

  [union[all]<select>][order by<排序项>[asc|desc][,<排序项>[asc|desc]…]]

  distince:无重复的结果记录。检索项:主要是字段名,选中的字段可以和SQL函数一起使用

  group by:将查询结果按某一列(或多列)的值进行分组。having:只与group by配合使用,用于说明分组条件

  union[all]<select>:将两个查询结果合并在一起输出,无ALL重复记录被自动取消,有all表示结果全部合并。

关闭