VF中的SQL语句大全.docx
- 文档编号:24963376
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:24
- 大小:32.04KB
VF中的SQL语句大全.docx
《VF中的SQL语句大全.docx》由会员分享,可在线阅读,更多相关《VF中的SQL语句大全.docx(24页珍藏版)》请在冰豆网上搜索。
VF中的SQL语句大全
VFP的SQL命令和语句大全
1.CREATE TABLE
一般格式为:
CREATE TABLE |dbf <表文件名>(字段名1 字段类型[(字段宽度[,小数位数])][,字段名2 字段类型[(字段宽度[,小数位数])]]„„)
例:
CREATE TABLE xscj(xh c(8),xm c(6),xb c
(2),;cj n(5,1),ksrq d)
2.ALTER TABLE
命令格式:
添加字段ALTER TABLE xscj ADD COLUMN kcmc C(14)
重命名字段 ALTER TABLE xscj RENAME COLUMN kcmc TO kc
删除字段 ALTER TABLE xscj DROP COLUMN kc
3.INSERT
一般格式为:
INSERT INTO <表名>[(字段名1[,字段名2 „])] VALUES (表达式1[,表达式2 „])
例:
INSERT INTO xscj(xh,xm,cj) VALUES ("81991001", "张良", 85.5)
4.UPDATE
命令格式:
UPDATE <表名> SET 字段1 = 表达式1 [,字段2 = 表达式2 „];
WHERE 条件表达式
例:
UPDATE xscj SET cj = cj*1.05 WHERE cj>80
5.DELETE
命令格式:
DELETE FROM <表名> [WHERE 条件表达式]
例:
DELETE FROM xscj WHERE cj<60
6.SELECT-SQL命令创建查询
常用的格式:
SELECT 表名1. 字段名1 [AS 标题名1], 表名1. 字段名2 [AS 标题名2], „
FROM 数据库名!
表名1 [,数据库名!
表名2 ] [, 数据库名!
表名3 ]
[TO FILE 文本文件名 | into table | into cursor 表文件名 ]
[ WHERE 选定条件]
[GROUP BY 分组字段名 ]
[HAVING 分组中的满足条件 ]
[ORDER BY 排序字段名1 [ASC | DESC] [, 排序字段名2 [ASC | DESC] ...]]
示例:
浏览学生中的查询学生 student.qpr :
SELECT 表xs.xh as 学号, 表xs.xm as 姓名, 表xs.xb as 性别, ;
表xs.csrq as 出生日期, 表xs.bj as 班级名称;
FROM 数据test!
表xs;
WHERE 表xs.bj =cs1;
ORDER BY 表xs.xh;
INTO TABLE xs
浏览成绩中的按课程查询 sub_cj.qpr :
SELECT 表xs.bj as 班级名称, COUNT(表xs.xh) as 班级人数, AVG(表cj.cj) as 平均分, ; MAX(表cj.cj) as 最高分, MIN(表cj.cj) as 最低分;
FROM 数据test!
表xs, 数据test!
表cj, 数据test!
表kc;
WHERE 表cj.xh = 表xs.xh;
AND 表kc.kcm = 表cj.kcm;
AND 表cj.kcm = sc1;
GROUP BY 表xs.bj;
ORDER BY 表xs.bj;
INTO TABLE sub_cj
7.CREATE SQL VIEW 命令创建视图
打开数据库,用命令来创建视图:
OPEN DATABASE 数据库名
CREATE SQL VIEW 视图文件名 AS SQL-SELECT 语句
例:
OPEN DATABASE SJ
CREAT SQL VIEW SCORE AS SELECT SJCJ.XH, SJCJ.CJ ;
FROM SJ!
SJCJ WHERE SJCJ.KCH=”计算机基础”
8.CREATE TABLE-SQL 命令创建数据库表
命令一般格式:
Create table 表名1 [free] ( 字段名1 字段类型代号 [ (字段宽度[,小数位数 ] ) ][null | not null] [check 字段规则1 [error “信息1” ] ] [default 默认值][primary key | unique] [references 表名2 [tag 索引标识1 ] ][ , 字段名2 字段类型代号 [ (字段宽度 [, 小数位数]) ] [null | not null] ][check 字段规则2 [error “信息2” ] ] [default 默认值 ] ) | from array 数组名 使用示例:
creat data xscjgl && 创建学生成绩管理数据库
create table xs (;
xh c(4) default "1201" primary key,;
xm c(6), ;
xb c
(2) check xb="男" or xb="女" error"性别只能是男或女" default "女",;
nl n
(2) null;
) && 创建学生表
create table kc (;
kch c(3) unique, ;
kcm c(10),;
xf n(3,1),;
bxk l;
) && 创建课程表
create table cj(;
xh c(4) default "1201" reference xs tag xh, ;
kch c(8),;
ksrq d,;
cj n(5,1);
) && 创建成绩表
modi data
alter table cj add primary key xh+kch+str(cj,4,1) tag dh && 为成绩表添加一个主索引
一、主要命令:
1、CREATE
CREATE DATABASE 库文件名.DBC―――建立数据库:
CREATE TABLE/DBF 表名(各个字段属性)¬¬¬¬¬¬¬¬¬¬¬¬¬¬—————建立表
CREATE VIEW <视图名> AS
执行这个语句时,如果没有打开的数据库,则建立独立的视图,这样的视图不能存储。
2.DROP
DROP VIEW <视图>————删除视图
3、MODIFY STRUCTURE
作用:
显示表文件结构,并允许修改此表的结构。
格式:
MODIFY STRUCTURE
说明:
只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
4、APPEND
作用:
在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。
格式:
APPEND [BLANK]
说明:
在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。
无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。
5、INSERT
INSERT BLANK BEFORE 在当前表的当前记录之前插入一条空白记录
INSERT INTO 表名[(字段] VALUES(表达式1[,表达式2„])——插入记录
INSERT INTO 表名 FROM ARRAY ArrayName | FROM MEMVAR
如带有FROM MEMVAR子句,则用同名的内存变量给字段赋值。
例:
INSERT INTO 学生(XH,XM,XB)VALUES(“950106”,“高山”,“男”)
6. ALTER TABLE 表名 ADD 字段名 字段类型(字段参数)―――添加字段
ALTER TABLE 表名 ALTER 字段名 SET CHECK <条件>——为字段添加有效性规则
例:
ALTER TABLE 评分 ALTER分数 SET CHECK 分数>=0 AND 分数<=10
ALTER TABLE 表名 DROP 字段名[ALTER COLUMN字段名Type {NULL | NOT NULL}][{,字段名Type NULL | NOT NULL}...] [DROP字段名[,字段名[, ...]]
例:
alter table 歌手add最后得分 F(6,2)
7、UPDATE
update <表名> set <字段1=表达式1>,<字段2=表达式2...> where <条件>
例:
update 产品 set 单价=单价*1.08
8、BROWSE
作用:
打开一个“浏览”窗口,供用户浏览或修改记录。
格式:
BROWSE [FIELDS <字段名表>]
9、USE
作用:
打开和关闭表文件。
格式:
USE [<文件名>]
10、LIST和DISPLAY
格式:
LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件>]
[TO PRINT|TO FILE <文件>]
LIST|DISPLAY STRUCTURE TO PRINT|TO FILE <文件>)
LIST|DISPLAY STATUS [TO PRINT|TO FILE <文件>]
注:
LIST命令一次连续显示完所有记录内容。
DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示。
如果LIST与DISPLAY都无任何选择项时,LIST显示文件的全部记录,DISPLAY仅显示当前记录。
11、记录的定位
作用:
用记录指针(POINTER)定位记录。
格式:
1)GO[TO] RECORD n|TOP|BOTTOM
命令定位GO [RECORD] NGO BOTTOMGO TOP
2)n
3)SKIP [+|-] n
说明:
第一个命令又叫绝对定位,其中,RECORD n定位到n号记录,TOP定位到第1个记录, BOTTOM定位到最后一个记录。
第二个命令定位到第n个记录,n是一个数值。
第三个命令又叫相对定
位,它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一个记
录。
LOCATE [<范围>] FOR <表达式>范围:
ALL NEXT N ,RECORD N, REST
12、CHANGE和EDIT
作用:
显示要编辑或修改的字段。
格式:
CHANGE|EDIT [<范围>] [FIELDS <字段名表>] [WHILE <条件>] [FOR <条件>]
13、REPLACE
格式:
REPLACE [<范围>] <字段1> WITH <表达式1>[,<字段2> WITH <表达式2>] [FOR <条件>]
[WHILE<条件>]
例:
REPLACE ALL 工资 WITH 工资+200 FOR 工资<1000
REPLACE FROM ARRAY数组名 [FIELDS 字段名列表][常用子句]——用内存数组的值更新数据表中的记录:
14、DELETE、PACK、ZAP和RECALL
作用:
分别是给要删除的记录作删除标记、彻底删除、删除所有记录和取消被选中的表记录的删除标志。
格式:
DELETE [<范围>] [WHILE<条件>] [FOR <条件>] (特例:
DELETE FILE FILENAME.DBF,该命令删除指定的表文件)
DELETE TAG ALL [OF 复合索引文件名]
DELETE TAG 索引标识1 [OF 复合索引文件名1][,索引标识2 [OF 复合索引文件名2>„ 例:
DELETE FROM 订单 WHERE 签订日期<={^2001-01-02}
PACK
ZAP
RECALL [<范围>] [FOR <条件>] [WHILE<条件>]
15、SORT和INDEX
1)SORT
作用:
是建立一个其记录以新的物理顺序排列的新表文件,原文件不变.
格式:
SORT TO <文件名> ON <字段名1> [/A] [/C] [/D][,<字段名2> [/A] [/C] [/D>...
[ASCENDING|DESCENDING] [<范围>] [FOR <条件>] [WHILE<条件>] [FIELDS<字段表>]
2)INDEX
作用:
对当前表根据关键字表达式的值从小到大排列,并存入TO后指定的索引文件名的文件或复合索引文件的一个标识中。
格式:
INDEX ON <关键字表达式> TO <文件名>
INDEX ON <关键字表达式> TAG <标识名> [OF <文件名>] [FOR <条件>]
说明:
第1个命令中,/A按字段名升序排序,/D按字段名降序排序,/C忽略大小写,针对字符型。
关键字而言,ASCENDING和DESCENDING分别表示升序和降序。
第1个命令建立.dbf表文件,第2个命令建立.idx单一索引文件,第3个命令建立.cdx复合索引文件(Compound Index)。
16、USE <表文件名> INDEX <索引文件名表>、SET INDEX TO和SET ORDER TO
作用:
分别是打开表文件的同时打开索引文件、打开索引文件和改变主索引。
并确定第一个索引文件为主控索引文件.(当前起作用的索引文件称为主控索引文件, 当前起作用的索引标识称为主控索引)
格式:
USE <表文件名> INDEX <索引文件名表>
SET INDEX TO [<索引文件名表>]
作用:
打开当前表的一个或多个索引文件并确定第一个索引文件为主控索引文件,该命令用于单索引文件.
格式:
SET INDEX TO [<索引文件表>] [ADDITIVE]
说明:
(1)[<索引文件表>]中第一个索引文件为主控索引文件.
(2)若缺省ADDITIVE选项,则在用本命令打开索引文件时,除结构复合索引文件以外的索引文件均被关闭
SET ORDER TO [<数值表达式>]|[<单索引文件名>]|[TAG] <索引标识> [ASCENDING|DESCENDING>(特例:
重新索引命令:
REINDEX)
作用:
对于打开表时自动打开的复合索引文件确定主索引,也能确定主索引文件.
(1) 数值表达式表示已打开的索引的序号.系统先为单索引文件编号,故结构复合索引文件的序号比单索引文件大.
(2) SET ORDER TO 或 SET ORDER TO 0命令取消主索引和主索引文件,表中记录将按物理记录输出.
17、FIND、SEEK和LOCATE及CONTINUE
作用:
前两个命令FIND和SEEK是在一个已经建立了索引文件的表中,定位到关键字中的内容与命
令行中字符串相同的第一个记录。
后一个命令在用USE打开表文件以后,直接查询表中字段内容。
格式:
FIND <“字符串”>|<字符串>SEEK <表达式> (表达式的数据类型可为字符型、数字型、日期型和逻辑型。
)
LOCATE [<范围>] [FOR <条件>] [WHILE<条件>]
CONTINUE
说明:
FIND命令与SEEK命令的区别是前者后跟字符串,而后者后跟表达式。
在用LOCATE命令找到
一个匹配记录后,可用CONTINUE命令搜索表的剩余部分来寻找其他匹配的记录。
18、COUNT
作用:
统计当前表文件中符合条件的记录数。
格式:
COUNT [<范围>] [FOR <条件>] [WHILE<条件>] [TO <内存变量名>]
说明:
内存变量名可用除参数外的任意字符。
19、SUM
作用:
对当前表中选中记录的全部或指定的数值字段或由指定字段组成的数值表达式累加求和。
格式:
SUM [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条件>]
20、AVERAGE
作用:
对当前表中选中记录的全部或部分数值型字段及其组成的表达式求平均值并显示。
格式:
AVERAGE [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条件>]
21、TOTAL
作用:
分类汇总命令,按<表达式>做过索引或排序的表文件的数字型字段进行分类汇总。
它把与<表达式>值相同的所有记录中的数字字段的值分别进行求和,并各自作为一条记录存放在由文件指定的文件中去。
在新生成的记录中,还将包括与<表达式>值相同的所有记录中的首项记录的其他字段内容。
格式:
TOTAL TO <文件名> ON <表达式>[FIELDS <数值型字段名表>][<范围>][FOR <逻辑表达式1>][WHILE <逻辑表达式2>]
例:
USE B2-1
INDEX ON 职称 TO ZC
TATOL ON 职称 TO B2-1T FILEDS 工资
22.APPEND FROM
作用:
从其他文件向表文件添加数据。
数据来源文件既可以是表文件,也可是文本文件或其他符合规定的文件。
从一个文件输入一个OLE对象放入一个通用(general)字段 :
APPEND GENERAL 通用字段名 [FROM filename]如果省略子句FROM filename,则将指定的字段清空。
将一个文本文件的内容拷贝到一个备注字段 :
APPEND MEMO 备注字段名 [FROM filename][OVERWRITE]
格式:
APPEND FROM <文件名>|?
[FIELDS <字段名表>][FOR <逻辑表达式>]
FIELDS <字段名表>和FOR <逻辑表达式>,用于源文件为表文件时,指定追加记录的字段和条件。
在字段名表和逻辑表达式中的字段名,必须是在来源和目的两个文件中公有的,共注意宽度和类型匹配。
实际应用中,数据来源文件常为表文件(.DBF)和ASCII码文本文件(.TXT) 对于文本文件又有标准格式(SDF)和通用格式(DELIMITED)之分.
例:
USE B2-1APPE FROM S3-1.TXT SDFBROWSE
23.COPY (选择表的部分内容生成一个新表)
作用:
把打开的表文件结构及数据复制成由<文件名>所指定的并符合规定要求的文件。
如果默认全部选择项和文件名的扩展名,则结构及全部数据都被复制,且其文件扩展名由系统规定为“.DBF”。
格式:
COPY TO<文件名> [FIELDS <字段名表>][<范围>][FOR <逻辑表达式1>][WHILE <逻辑表达式2>]
格式中的或用来为新表建立一个与原表相同的结构索引.
例1:
COPY TO B3-2COPY TO S3-2.TXT SDF
例2:
USE RS
COPY TO RS3 FIELDS 姓名,基本工资,奖金
USE RS3
LIST
24. COPY FILE复制数据整表:
(可用于复制任何类型文件)
COPY FILE 原文件名 TO 目标文件名
注:
复制表时,还应当复制和它相配的备注文件(.FPT,如有备注字段)和结构复合索引文件。
当前表应关闭。
(如果已打开表:
COPY TO 新文件名)
例:
将RS.DBF复制为RS1.DBF
COPY FILE RS.DBF TO RS1.DBF
或 USE RSCOPY TO RS1USE RS1LIST
25.COPY STRUCTURE (只复制结构不复制数据)
作用:
表文件结构复制,生成一个指定文件名和包括指定字段的表文件结构;如有CDX或PRODUCTION选择项还将为新表建立一个与源表相同的结构索引.
格式:
COPY STRUCTURE TO<文件名> [FIELDS <字段名表>]
例:
COPY STRUCTURE TO B3-3 FIELDS 编号,姓名,何时工作,职称
26.copy to建立结构扩展文件
作用:
把已打开的表文件的结构作为数据记录复制到由<文件名>指定的库文件中去.
格式:
COPY TO<文件名> STRUCTURE EXTENDED
例:
USE B3-3
COPY TO B3-4 STRUCTURE EXTENDED
USE B3-4
BROW
该命令可以用于测试表文件结构,也可以用于顺序方式建立库文件结构.
新库文件的结构是一个由系统规定的标准结构,它由4个字段构成:
FIELD_NAME 字段名
FIELD_TYPE 字段类型
11/23页
FIELD_LEN 字段宽度
FIELD_DEC 小数位数
27.常用命令:
库 表
打开数据:
OPEN DATABASE 库文件名
打开表:
USE 表文件名
使用非前库的表:
USE 库名!
表名
打开索引表:
USE 表名 INDEX 索引名
显示库信息:
DISP DATABASE [TO PRINTER]
显示记录:
LIST (快速查看)
BROWSE(分屏浏览可修改)
DISP (显示当前记录)
关闭数据库:
CLOSE ALL (关闭所有库、表、索引)
关闭表:
USE
CLOSE DATABASES(关闭当前库、表) CLOSE TABLES(关闭当前表,不关库)
CLOSE INDEXES (关闭当前索引)
添加表:
ADD TABLE 表名 追加记录:
APPEND
APPEND FROM 源文件
移去表:
REMOVE TABLE 表名
删除库:
DELETE DATABASE 库名 (先关闭库)
删除表:
DELETE FILE 表名(先关闭表)
二、字符中操作函数
UPPER(S) 小写字母 UPPER(abc) ABC
LOWER(S) 大写字母 LOWER(ACD) acd
LEN(S) 求字符串的长度 LEN("中国1号") 7
AT(S1,S2) 在字符串S2,找字符串S1 AT("H","CHINA") 2
SUBSTR(S,I,N)在S字符串中的第I个字符起取N个字符SUBSTR('TECHNOLO',3,3) CHN
LEFT(S,N) 从字符串S左边取N个字符 LEFT(“中国人”,4) 中国
RIGHT(S,N) 从字符串S右边取N个字符 S=‘12345’
RIGHT(S,3) 345
SPACE(N) 生成N个空格 "合计"+SPACE
(2)+"123" 合计123
TRIM(S) 消除字符串尾部空格 TRIM("姓名 ") 姓名
ALLTRI(S) 消除字符串中所有空格 ALLTRIM("李 丽") 李丽
STUFF(S1,N1,N2,S2) 用字符串S2替换S1中第N1个字符起的N2个字符 STUFF("NOW",2,1,"E") NEW
& 宏替换 P=“G2”
USE &P USE G2
二、常用函数
1、数学函数
函数 用途
ABS(<数值表达式>) 绝对值,|x|
CEILING(<数值表达式>) >=自变量的最小整数
EXP(<数值表达式>) 对基E的幂,e=2.71828
FLOOR(<数值表达式>) <=自变量的最大整数
INT(<数值表达式>) 取整(舍尾)自变量
LOG(<数值表达式>) 自变量的自然对数,ln x
LOG10(<数值表达式>) 自变量的普通对数,lg x
MAX(<表达式1>,<表达式2>)两个值的最大值
MIN(<表达式1>,<表达式2>)两个值的最小值
MOD(<数值表达式1>,<数值表达式2>)求余数
RAND([<数值表达式1>]) 返回伪随机数
ROUND(<数值表达式1>,<数值表达式2>)四舍五入第一个自变量
SIGN(<数值表达式>) 自变量的符号
SQRT(<数值表达式>) 平方根(正根)
2、字符串操作函数
函数 用途
&<内存变量> 用于代替内存变量内容
LE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VF 中的 SQL 语句 大全