第二章
一、变量
输出: ?变量名或表达式 在下一行输出; ??变量名或表达式 在同一行输出
分类:字段变更和内存变量。
命名规则:在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、增加记录的命令
(1)append 在表的尾部添加一条新记录;append blank 在表的尾部添加一条空记录
(2)insert 在当前记录之后插入;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(或);
比较运算符(大小比较):>、>=、=、<、<=、<>、!>、!< ;
范围运算符:BETWEEN…AND… 和 NOT BETWEEN…AND…
列表运算符:IN(项1,项2…)、NOT IN(项1,项2…);
模式匹配符:LIKE、NOT LIKE
模式匹配符可使用以下通配字符:百分号“%”,可匹配任意类型和长度的字符;下划线“_”,可匹配单个任意字符
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论