第二章
一、变量
输出: ?变量名或表达式      在下一行输出;          ??变量名或表达式    在同一行输出
分类:字段变更内存变量
命名规则:在VF环境下变量名由字母、数字和下划线组成,且第一个字母必须为字母或下划线;不要把VF环境下的关键字作为变量名;不区分大小写。
连续赋值:在VF环境下store 表达式 to 变量名列表
数组:内存中连续的一片存储区域,它由一系列元素组成,面且每个元素相当于一个变量。
创建格式:    DIMENSION 数组名();            DECLARE  数组名()
二、常用函数
数值函数
5.求整数函数    格式:INT(〈数值表达式〉)
7.求余数函数    格式:MOD(〈数值表达式1〉,〈数值表达式〉)  功能:返回两个数值相除后的余数。
说明:〈数值表达式1〉是被除数,〈数值表达式2〉是除数。余数的正负号与除数相同。如果被除数与除数同号,那么函数值即为两数相除的余数;如果被除数与除数异号,则函数值为两数相除的余数再加上除数的值。
8.求最大值和最小值函数  MAX()  返回最大值。      MIN()返回最小值。
字符函数
1.求字符串长度函数    格式:LEN(〈字符表达式〉) 
4.空格字符串生成函数  格式:SPACE(〈数值表达式〉)
5.删除前后空格函数    TRIM()返回指定字符表达式值去掉尾部空格后形成的字符串。  LTRIM()返回指定字符表达式值去掉前导空格后形成的字符串。  ALLIRIM()返回指定字符表
达式值去掉前导和尾部空格后形成的字符串。
6.取子串函数 
格式:LEFT(〈字符表达式〉,〈长度〉)  从指定表达式值的左端取一个指定长度的子串作为函数值
      RIGHT(〈字符表达式〉,〈长度〉)  从指定表达式值的右端取一个指定长度的子串作为函数值
    SUBSTR(〈字符表达式〉,〈起始位置〉[,〈长度〉]) 从指定表达式的值指定起始位置取指定长度的子串作为函数值
8.求子串位置函数 
格式:AT(〈字符表达式1〉,〈字符表达式2〉[,〈数值表达式〉])
      ATC(〈字符表达式1〉,〈字符表达式2〉[,〈数值表达式〉])
AT()的函数值为数值型。如果〈字符表达式1〉是〈字符表达式2〉的子串,则返回〈字符表达式1〉值的首字符在〈字符表达式2〉值中的位置;若不是子串,则返回0。说明:ATC()与AT()功能类似,但在子串比较时不区分字母大小写。第三个自变量〈数值表达式〉用于表明要在〈字符表达式2〉值中搜索〈字符表达式1〉值的第几次出现,其默认值是
日期和时间函数
格式:DATE()    返回当前系统日期,函数值为日期型。
      TIME()    以24小时制、hh:mm:ss格式返回当前系统时间,函数值为字符型。
      DATETIME()  返回当前系统日期时间,函数值为日期时间型。
.数据类型转换函数
1.数值转换成字符串    格式:STR(〈数值表达式〉[,〈长度〉[,〈小数位数〉]])
功能:将〈数值表达式〉的值转换成字符串,转换时根据需要自动进行四舍五入。
说明:(1)返回字符串的理想长度L应该是〈数值表达式〉值的整数部分位数加上〈小数位数〉值,再加上1位小数点。
(2)如果〈长度〉值大于L,则字符串加前导空格以满足规定的〈长度〉要求;(3)如果〈长度〉值大于等于〈数值表达式〉值的整数部分位数(包括负号)但又小于L,则优先满足整数部分而自动调整小数位数;(4)如果〈长度〉值小于〈数值表达式〉值的整数部分位数,则返回一串星号(*)。(5)〈小数位数〉的默认值为0,〈长度〉的默认值为10。
3.字符串转换成日期或日期时间    格式:CTOD(〈字符表达式〉)      CTOT(〈字符表达式〉)
说明:字符串中的日期部分格式要与SET DATE TO 命令设置的格式一致。其中的年份可以用四位,也可以用两位。如果用两位,则世纪由SET CENTURY TO 语句指定。
4.DTOC()将日期型数据或日期时间数据的日期部分转换成字符串    TTOC()将日期时间数据转换成字符串。
5.宏替换函数    格式:&〈字符型变量〉功能:替换出字符型变量的内容,即&的值是变
量中的字符串。
测试函数
1.空值(NULL值)测试函数    格式:ISNULL(〈表达式〉)
4.表文件尾测试函数      格式:EOF([〈工作区号〉|〈表别名〉])
5.表文件首测试函数      格式:BOF([〈工作区号〉|〈表别名〉])
7.记录个数测试函数      格式:RECCOUNT([〈工作区号〉|〈表别名〉])
8.条件测试函数          格式:IIF(〈逻辑表达式〉,〈表达式1〉,〈表达式2〉)
测试〈逻辑表达式〉的值,若为逻辑真.T.,函数返回〈表达式1〉的值,若为逻辑假.F.,函数返回〈表达式2〉的值。
第三章
一、据库的操作
1、创建数据库:create database 数据库名;  2打开数据库:open database 数据库名 参数
3修改数据库:modify database 数据库名;  4删除数据库:delete database 数据库名
注:被删除的数据库必须是关闭的而且所删除的仅是数据库文件,数据库中的表文件并没有被删除,因为表文件是独立存储在磁盘上的。
二、表的基本操作
1、创建表结构的命令为:create 表名
2、打开表的命令为:use 表名 [share] |[exclusive]    share 共享方式打开,exclusive以独占的方式打开
3、使用浏览器操作表:  命令为:browse
6、增加记录的命令
1append  在表的尾部添加一条新记录;append  blank    在表的尾部添加一条空记录
2insert    在当前记录之后插入;insert  before 之前插入一条记录。insert  blank  在当前记录之后插入一条空记录
8、删除记录的命令
delete for 条件  逻辑删除符合条件的记录;recall for 条件      回复符合条件的被逻辑删除的记录
pack      物理删除表中所有被逻辑删除的记录;zap      彻底删除表中的全部记录不管是否被逻辑删除
9、修改记录的命令
1)交互修改的命令    edit/change  修改表记录
2)直接修改的命令  replace all 姓名 with ‘王琳’ for 姓名=‘王林’;  replace all 总分 with 总分+20 for 班级=1
10、指针定位  1)指针绝对定位  go goto n  将指针指向记录号为n 的记录;go top
指针指向第一条记录  go bottom 将指针指向最后一条记录  2)指针相对定位:skip +/-n 以当前记录为基准向后或向前跳n
3)条件定位:locate for 条件 将指针指向符合条件的记录;使用continue 命令将指针指向下一条符合条件的记录。
三、用命令建立结构复合索引(与表文件名相同但扩展名为.cdx
1)创建索引文件的命令
index on 字段表达式 tag 索引名  排序依据 [asce][desc]  索引类型 [unique] [candidate]
说明:asce 升序  默认为升序;desc 降序;unique 创建唯一索引;candidate 创建候选索引
2)使用索引:  set order to 索引序号 tag 索引名 asce|desc
3)关闭索引:  clos index set order to
4)删除索引文件:delete tag 索引名      删除指定的索引;delete tag all      删除全部索引
五、多表操作
设置工作区的命令为:
select  n  n表示工作区号,其取值范围为 0<=n<=32767,系统默认的工作区号为1 0号表示未被使用的最小工作区号。 每个表打开后都有两个默认的别名,一个是表名自身,另一个是工作区的别名。
select()    返回当前表的工作区号;      select 表名  切换到打开的表对应的工作区
先设置工作区然后打开相关的表,也可以在打开表的同时指定工作区号,命令为:use 表名  in trim函数的作用是删除文本的什么空格工作区号
表之间建关联必须满足以下条件:(1)建立两个工作区,分别在各自的工作区中打开相应的表;(2)两个表之间必须有公共字段(字段值及数据类型均相同);(3)所建关联的表的公共字段必须创建索引。
set relation to 公共字段 into 工作区别名
六、物理排序:sort to 表名 on 排序字段1[/a|/d][/c], 排序字段2[/a|/d] [/c],……
说明:/a  按升序排序;/d  按降序排序;/c  排序时不区分大小写
七、数据的统计
count  统计统计个数;sum    统计某数值型字段的总和;average 统计某数值型字段的平均值
八、数据复制:copy to 表文件名 fields 字段名表 for 条件
复制表结构:copy stru to 文件名 fields 字段名表
复制表文件:copy file 源表.dbf to 目标表.dbf  注:因为是整个表操作所有被复制的表必须关闭。
4  关系数据库标准语言SQL
一、一、查询功能
1
SELECT命令的常用格式:  SELECT-FROM-WHERE-GROUP BY-ORDER BY-INTO
2、特殊运算符的使用
SQL支持的运算符如下:
逻辑运算符(用于多条件的逻辑连接)NOT(非)、AND(与)、OR(或);
比较运算符(大小比较)>>==<<=<>!>!<  ;
范围运算符:BETWEENAND NOT BETWEENAND
列表运算符:IN(1,2)NOT IN(1,2);     
模式匹配符:LIKENOT LIKE
模式匹配符可使用以下通配字符:百分号“%”,可匹配任意类型和长度的字符;下划线“_”,可匹配单个任意字符

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。