VFP中常用命令
一、数据库的建立、打开、关闭和删除   
建立数据库:
CREATE DATABASE [databasename|?]
 
从磁盘中删除数据库:
CREATE DATABASE [databasename|?]
ELETE  DATABASE  databasename
DELETE  DATABASE  databasename|?
 
打开数据库:
OPEN DATABASE [EXCLUSIVE|SHARED][NOUPDATE]
 
打开数据库设计器(允许用户按交互方式编辑当前数据库):
MODIFY DATABASE  [databasename|?]
指定的数据库databasename为当前数据库。
 
指定当前的数据库:
SET DATABASE TO [databasename]
Databasename必须为已经打开的数据库。如果省略数据库名称databasename,则不指定当前数据库(没有当前数据库)。
 
关闭数据库:
CLOSE DATABASE [ALL]
关闭当前数据库,如果带ALL子句,则关闭所有打开的数据库。
 
二、数据表和视图的建立、打开、关闭和删除   
建立数据表(SQL命令): 
CREATE TABLE | DBF tablename (Col_name1 Type1 [NOT NULL/NULL]
[{,Col_name2 Type2 [NOT NULL/NULL]}...])
table_name是所创建的数据表的名字。
Col_name1,Col_name2,...是表中列的名。
Type1,&是相应列的数据类型(VFP的数据类型见表3-9)。 
如果说明为NOT NULL,则列中不允许分配空值(这种情况下,列不能包含空值,如果插入空值,将返回错误信息)。
 
向当前打开的数据库中添加数据表:
ADD TABLE tablename|?
 
从当前打开的数据库中删除数据表:
REMOVE TABLE tablename|? [DELETE]
如果包含DELETE子句,将从磁盘中删除这个表文件,否则,只从数据库中删除,但文件仍保存在磁盘中。
 
在当前打开的数据库中建立视图:
CREATE SQL VIEW viewname AS SELECT ……
其中SELECT ……为SELECT语句。
执行这个语句时,如果没有打开的数据库,则建立独立的视图,这样的视图不能存储。
 
从当前打开的数据库中删除视图:
DELETE VIEW viewname
 
打开一个表:
USE tablename|? [IN 工作区号]
 
将当前数据表与另一数据表连接后建立一个新表:
JOIN WITH 工作区号|表别名 TO tablename FOR 条件 [FIELDS 字段名表]
 
三、数据表和表结构的编辑、修改   
打开浏览窗口(可在其中编辑数据表):
BROWSW(详细格式见P. 114~116)
 
打开并修改数据表中的字段:
(1) CHANGE [FIELDS 字段名列表]
(2) EDIT [FIELDS 字段名列表]
这两个命令的功能相似,可选子句较多(详见手册)。
 
数据表改名:
RENAME TABLE tablename1 TO tablename2
其中数据表tablename1必须存在且未打开。
 
视图改名:
RENAME VIEW viewname1 TO viewname2
其中数据表tablename1必须存在且未打开。
 
修改数据表结构(SQL命令):
ALTER TABLE tablename ;
ADD 字段名 Type [NULL | NOT NULL]
[,字段名 Type [NULL | NOT NULL] ;
[ALTER COLUMN字段名Type {NULL | NOT NULL}];
[{,字段名Type NULL | NOT NULL}...] ;
[DROP字段名[,字段名[, ...]]
 
将当前表与另一表之间建立关联:
SET RELATION TO [表达式1 INTO 工作区号1 | 表别名1];
[, 表达式2 INTO 工作区号2 | 表别名2] [, ...]
建立关联的两个表必须事先已按关联表达式进行索引排序。
 
在当前表与另一表之间建立一对多关联:
SET SKIP TO表别名1[, 表别名2]
 
消除当前表与另一表之间的关联:
SET RELATION OFF INTO 工作区号 | 表别名
 
四、数据表中数据操作(查询、插入、删除和修改等)   
 
数据查询SELECT语句(SQL命令)
格式见教材的有关章节。这是本课程的重点内容,必须很好地掌握。
 
更改数据表中的记录:
REPLACE 字段1  WITH  表达式1[ADDITIVE];
[,<  [,<字段2> WITH <表达式2>[ADDITIVE],…];
 [FOR 条件1][WHILE条件2]
其中的ADDITIVE子句适用于备注字段,表示将表达式的值加在字段的末尾。
 
用内存数组的值更新数据表中的记录:
REPLACE FROM ARRAY数组名 [FIELDS 字段名列表][常用子句]
 
用新的值更新表中的记录(SQL命令):
UPDATE [databasename!]tablename;
SET Column_1=Expression1 [{Column_2=expression2}...] ;     
 [WHERE Condition]
 
用一个表中的数据更新当前指定工作区中打开的表:
UPDATE ON fieldname FROM filename;
REPLACE fieldname1 WITH expr1
[, fieldname2 WITH expr2 [, ...]]
 
给记录加删除标记(SQL命令):
DELETE  FROM  [databasename!]tablename;
[WHERE 条件]
 
给记录加删除标记:
DELETE [范围] [FOR 条件] [WHILE 条件];
[IN 工作区号|表别名]
 指针拼音
永久删除加了删除标记的记录:
PACK
 
永久删除打开的数据库中加了删除标记的记录:
PACK  DATABASE
 
去掉删除标记(恢复)
 RECALL [常用子句]
 
删除一个表中所有记录(保留表的结构):
ZAP  [IN tablename|alias]
 
为数据表文件追加记录:
APPEND [BLANK][IN 工作区号|别名]
 
从另一个文件中提取数据添加到当前数据表的尾部:
APPEND FROM filename|? [FIELDS 字段名列表][ FOR 条件]
其中filename所指定的文件可以是数据表、EXCEL电子表格、文本文件等,如果不是数据表,需要其它子句指定格式(详见手册)。
 
用内存数组的值添加到当前数据表的尾部:
APPEND FROM ARRAY arrayname [ FOR 条件][FIELDS字段名列表]
数据中的一行对应一个新记录,一列对应一个字段。
 
从一个文件输入一个OLE对象放入一个通用(general)字段 :
APPEND GENERAL 通用字段名 [FROM filename]
如果省略子句FROM filename,则将指定的字段清空。
 
将一个文本文件的内容拷贝到一个备注字段 :
APPEND MEMO 备注字段名 [FROM filename][OVERWRITE]
如果省略子句FROM filename,则将指定的字段清空。
 
插入新记录(在当前记录之前或后插入):
 INSERT [BLANK] [BEFORE]
如不省略BLANK,则插入一个空白记录,且不显示输入窗口。
 
在表中插入新记录并赋值(SQL命令):
INSERT INTO tablename [(字段1 [, 字段2, ...])]VALUES (eExpression1 [, eExpression2, ...])
INSERT INTO tablename FROM ARRAY ArrayName | FROM MEMVAR
如带有FROM MEMVAR子句,则用同名的内存变量给字段赋值。
 
清除当前记录中字段的数据:
BLANK [常用子句]
 
移动记录指针:
SKIP [n] [IN 工作区号|表别名]
 
五、文件管理(文件和文件夹的复制、创建和删除)   
从当前表复制出表或其它类型的文件(表须打开)
COPY  TO  filename [FIELDS 字段名列表] [常用子句] [其它子句] 
如果没有指定类型,则复制一个与当前的表相同的数据表。
 
复制表的结构
COPY STRUCTURE TO filename [FIELDS字段名列表]
 
复制任何文件: 
COPY FILE 源文件 TO 目的文件
如果用此命令复制表,表须关闭
 
从磁盘上删除任意文件:
(1)ERASE filename|?
(2)DELETE FILE [filename|?]
 
任意文件改名(或文件移动到另一文件夹):
RENAME filename1 TO filename2
其中filename1和filename2都可以包含路径。如二者不在同一文件夹,则将filename1移动到filename2所在的文件夹。
 
显示一个文件夹中的文件信息:
DIR | DIRECTORY  [ON drive]
 
从磁盘上删除一个文件夹:
RD | REDIR 文件夹名
 
在磁盘上建立一个文件夹:
MD | MKDIR文件夹名
 
六、数据的复制与传送   
单个记录与数组间的数据传送 
 当前记录 → 数组或内存变量:
   SCATTER [FIELDS字段名列表][MEMO]TO 数组名 [BLANK] | MEMVAR [BLANK]
其中[BLANK]表示建立一个空元素的数组。如果用MEMVAR子句,则表示将各字段的值复制到同名同类型的内存变量。
如果包含MEMO子句,则备注字段一起复制。

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