《VFP中SQL语句大全.doc》由会员分享,可在线阅读,更多相关《VFP中SQL语句大全.doc(23页珍藏版)》请在金锄头文库上搜索。
1、VFP的SQL命令和语句大全1.CREATE TABLE - SQL命令该命令的一般格式为: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 - SQL命令功能命令格式示例添加字段ALTER TABLE xscj ADD COLUMN kcmc C(14) 重命名字段 ALTER TABLE xscj RENAME COLUMN kcmc TO kc 删除字段 ALTER T
2、ABLE xscj DROP COLUMN kc3.INSERT-SQL命令该命令的一般格式为:INSERT INTO (字段名1,字段名2 ) VALUES (表达式1,表达式2 )例:INSERT INTO xscj(xh,xm,cj) VALUES (81991001, 张良, 85.5)4.UPDATE-SQL 命令。命令格式: UPDATE SET 字段1 = 表达式1 ,字段2 = 表达式2 ;WHERE 条件表达式例: UPDATE xscj SET cj = cj*1.05 WHERE cj805.DELETE-SQL 命令。命令格式: DELETE FROM WHERE 条件
3、表达式例: DELETE FROM xscj WHERE cj606.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
4、 :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, 数据tes
5、t!表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_cj7.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
6、!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 arr
7、ay 数组名使用示例: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 x
8、s tag xh, ;kch c(8),;ksrq d,;cj n(5,1);) & 创建成绩表modi dataalter table cj add primary key xh+kch+str(cj,4,1) tag dh & 为成绩表添加一个主索引一、主要命令:1、CREATECREATE DATABASE 库文件名.DBC建立数据库:CREATE TABLE/DBF 表名(各个字段属性)建立表CREATE VIEW AS 建立视图执行这个语句时,如果没有打开的数据库,则建立独立的视图,这样的视图不能存储。2.DROP DROP VIEW 删除视图3、MODIFY STRUCTURE 作
9、用:显示表文件结构,并允许修改此表的结构。格式:MODIFY STRUCTURE说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。4、APPEND作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。格式:APPEND BLANK说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。5、INSERT INSERT BLANK BEFORE 在当前表的当前记录之前插入一条空白记录INSERT INTO 表名(字段 VALUES(表达式1,表达式2)
10、插入记录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 分数=10ALTER TABLE 表名 DROP 字段名ALTER C
11、OLUMN字段名Type NULL | NOT NULL,字段名Type NULL | NOT NULL. DROP字段名,字段名, .例:alter table 歌手add最后得分 F(6,2)7、UPDATEupdate set , 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|
12、DISPLAY STRUCTURE TO PRINT|TO FILE )LIST|DISPLAY STATUS TO PRINT|TO FILE 注:LIST命令一次连续显示完所有记录内容。DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示。如果LIST与DISPLAY都无任何选择项时,LIST显示文件的全部记录,DISPLAY仅显示当前记录。11、记录的定位作用:用记录指针(POINTER)定位记录。格式:1)GOTO RECORD n|TOP|BOTTOM命令定位GO RECORD NGO BOTTOMGO TOP2)n3)SKIP +|- n说明:第一个命令又叫绝对定位,其中,
13、RECORD n定位到n号记录,TOP定位到第1个记录,BOTTOM定位到最后一个记录。第二个命令定位到第n个记录,n是一个数值。第三个命令又叫相对定位,它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一个记录。LOCATE FOR 范围: ALL NEXT N ,RECORD N, REST12、CHANGE和EDIT作用:显示要编辑或修改的字段。格式:CHANGE|EDIT FIELDS WHILE FOR 13、REPLACE格式:REPLACE WITH , WITH FOR WHILE例: REPLACE ALL 工资 WITH 工资+200 FOR
14、工资1000REPLACE 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-02PACKZAPRECALL FOR 条