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 kc3.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.05WHERE cj>805.DELETE命令格式:DELETE FROM<表名>[WHERE条件表达式]例:DELETE FROM xscj WHERE cj<606.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_cj7.CREATE SQL VIEW命令创建视图打开数据库,用命令来创建视图:OPEN DATABASE数据库名CREATE SQL VIEW视图文件名AS SQL-SELECT语句例:OPEN DATABASE SJCREAT 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 dataalter table cj add primary key xh+kch+str(cj,4,1)tag dh&&为成绩表添加一个主索引一、主要命令:1、CREATECREATE DATABASE库文件名.DBC―――建立数据库:CREATE TABLE/DBF表名(各个字段属性)¬¬¬¬¬¬¬¬¬¬¬¬¬¬—————建立表CREATE VIEW<视图名>AS<SELECT查询语句>——建立视图执行这个语句时,如果没有打开的数据库,则建立独立的视图,这样的视图不能存储。
2.DROPDROP VIEW<视图>————删除视图3、MODIFY STRUCTURE作用:显示表文件结构,并允许修改此表的结构。
格式:MODIFY STRUCTURE说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
4、APPEND作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。
格式:APPEND[BLANK]说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。
无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段容。
5、INSERTINSERT 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分数>=0AND分数<=10ALTER TABLE表名DROP字段名[ALTER COLUMN字段名Type{NULL|NOT NULL}][{,字段名Type NULL|NOT NULL}...][DROP字段名[,字段名[,...]]例:alter table歌手add最后得分F(6,2)7、UPDATEupdate<表名>set<字段1=表达式1>,<字段2=表达式2...>where<条件>例:update产品set单价=单价*1.088、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 TOP2)n3)SKIP[+|-]n说明:第一个命令又叫绝对定位,其中,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[<围>]<字段1>WITH<表达式1>[,<字段2>WITH<表达式2>][FOR<条件>][WHILE<条件>]例:REPLACE ALL工资WITH工资+200FOR工资<1000REPLACE FROM ARRAY数组名[FIELDS字段名列表][常用子句]——用存数组的值更新数据表中的记录:14、DELETE、PACK、ZAP和RECALL作用:分别是给要删除的记录作删除标记、彻底删除、删除所有记录和取消被选中的表记录的删除标志。