VFP中SQL语句大全.docx

上传人:b****5 文档编号:3414028 上传时间:2022-11-22 格式:DOCX 页数:18 大小:32.22KB
下载 相关 举报
VFP中SQL语句大全.docx_第1页
第1页 / 共18页
VFP中SQL语句大全.docx_第2页
第2页 / 共18页
VFP中SQL语句大全.docx_第3页
第3页 / 共18页
VFP中SQL语句大全.docx_第4页
第4页 / 共18页
VFP中SQL语句大全.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

VFP中SQL语句大全.docx

《VFP中SQL语句大全.docx》由会员分享,可在线阅读,更多相关《VFP中SQL语句大全.docx(18页珍藏版)》请在冰豆网上搜索。

VFP中SQL语句大全.docx

VFP中SQL语句大全

VFP的SQL命令和语句大全

1.CREATETABLE-SQL命令

该命令的一般格式为:

CREATETABLE|dbf<表文件名>(字段名1字段类型[(字段宽度[,小数位数])][,字段名2字段类型[(字段宽度[,小数位数])]]……)

例:

CREATETABLExscj(xhc(8),xmc(6),xbc

(2),;cjn(5,1),ksrqd)

2.ALTERTABLE-SQL命令功能

命令格式示例

添加字段ALTERTABLExscjADDCOLUMNkcmcC(14)

重命名字段ALTERTABLExscjRENAMECOLUMNkcmcTOkc

删除字段ALTERTABLExscjDROPCOLUMNkc

3.INSERT-SQL命令

该命令的一般格式为:

INSERTINTO<表名>[(字段名1[,字段名2…])]VALUES(表达式1[,表达式2…])

例:

INSERTINTOxscj(xh,xm,cj)VALUES("81991001","张良",85.5)

4.UPDATE-SQL命令。

命令格式:

UPDATE<表名>SET字段1=表达式1[,字段2=表达式2…];

WHERE条件表达式

例:

UPDATExscjSETcj=cj*1.05WHEREcj>80

5.DELETE-SQL命令。

命令格式:

DELETEFROM<表名>[WHERE条件表达式]

例:

DELETEFROMxscjWHEREcj<60

6.SELECT-SQL命令创建查询

常用的格式:

SELECT表名1.字段名1[AS标题名1],表名1.字段名2[AS标题名2],…

FROM数据库名!

表名1[,数据库名!

表名2][,数据库名!

表名3]

[TOFILE文本文件名|intotable|intocursor表文件名]

[WHERE选定条件]

[GROUPBY分组字段名]

[HAVING分组中的满足条件]

[ORDERBY排序字段名1[ASC|DESC][,排序字段名2[ASC|DESC]...]]

示例:

浏览学生中的查询学生student.qpr:

SELECT表xs.xhas学号,表xs.xmas姓名,表xs.xbas性别,;

表xs.csrqas出生日期,表xs.bjas班级名称;

FROM数据test!

表xs;

WHERE表xs.bj=cs1;

ORDERBY表xs.xh;

INTOTABLExs

浏览成绩中的按课程查询sub_cj.qpr:

SELECT表xs.bjas班级名称,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;

GROUPBY表xs.bj;

ORDERBY表xs.bj;

INTOTABLEsub_cj

7.CREATESQLVIEW命令创建视图

打开数据库,用命令来创建视图:

OPENDATABASE数据库名

CREATESQLVIEW视图文件名ASSQL-SELECT语句

例:

OPENDATABASESJ

CREATSQLVIEWSCOREASSELECTSJCJ.XH,SJCJ.CJ;

FROMSJ!

SJCJWHERESJCJ.KCH=”计算机基础”

8.CREATETABLE-SQL命令创建数据库表

命令一般格式:

Createtable表名1[free](字段名1字段类型代号[(字段宽度[,小数位数])][null|notnull][check字段规则1[error“信息1”]][default默认值][primarykey|unique][references表名2[tag索引标识1]][,字段名2字段类型代号[(字段宽度[,小数位数])][null|notnull]][check字段规则2[error“信息2”]][default默认值])|fromarray数组名

使用示例:

creatdataxscjgl&&创建学生成绩管理数据库

createtablexs(;

xhc(4)default"1201"primarykey,;

xmc(6),;

xbc

(2)checkxb="男"orxb="女"error"性别只能是男或女"default"女",;

nln

(2)null;

)&&创建学生表

createtablekc(;

kchc(3)unique,;

kcmc(10),;

xfn(3,1),;

bxkl;

)&&创建课程表

createtablecj(;

xhc(4)default"1201"referencexstagxh,;

kchc(8),;

ksrqd,;

cjn(5,1);

)&&创建成绩表

modidata

altertablecjaddprimarykeyxh+kch+str(cj,4,1)tagdh&&为成绩表添加一个主索引

一、主要命令:

1、CREATE

CREATEDATABASE库文件名.DBC―――建立数据库:

CREATETABLE/DBF表名(各个字段属性)¬¬¬¬¬¬¬¬¬¬¬¬¬¬—————建立表

CREATEVIEW<视图名>AS——建立视图

执行这个语句时,如果没有打开的数据库,则建立独立的视图,这样的视图不能存储。

2.DROP

DROPVIEW<视图>————删除视图

3、MODIFYSTRUCTURE  作用:

显示表文件结构,并允许修改此表的结构。

格式:

MODIFYSTRUCTURE

说明:

只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。

4、APPEND

作用:

在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。

格式:

APPEND[BLANK]

说明:

在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。

无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。

5、INSERT

INSERTBLANKBEFORE  在当前表的当前记录之前插入一条空白记录

INSERTINTO表名[(字段]VALUES(表达式1[,表达式2…])——插入记录

INSERTINTO表名FROMARRAYArrayName|FROMMEMVAR

如带有FROMMEMVAR子句,则用同名的内存变量给字段赋值。

例:

INSERTINTO学生(XH,XM,XB)VALUES(“950106”,“高山”,“男”)

6.ALTERTABLE表名ADD字段名字段类型(字段参数)―――添加字段

ALTERTABLE表名ALTER字段名SETCHECK<条件>——为字段添加有效性规则

例:

ALTERTABLE评分ALTER分数SETCHECK分数>=0AND分数<=10

ALTERTABLE表名DROP字段名[ALTERCOLUMN字段名Type{NULL|NOTNULL}][{,字段名TypeNULL|NOTNULL}...][DROP字段名[,字段名[,...]]

例:

altertable歌手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<条件>]

[TOPRINT|TOFILE<文件>]

LIST|DISPLAYSTRUCTURETOPRINT|TOFILE<文件>)

LIST|DISPLAYSTATUS[TOPRINT|TOFILE<文件>]

注:

LIST命令一次连续显示完所有记录内容。

DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示。

如果LIST与DISPLAY都无任何选择项时,LIST显示文件的全部记录,DISPLAY仅显示当前记录。

11、记录的定位

作用:

用记录指针(POINTER)定位记录。

格式:

1)GO[TO]RECORDn|TOP|BOTTOM

命令定位GO[RECORD]NGOBOTTOMGOTOP

2)n

3)SKIP[+|-]n

说明:

第一个命令又叫绝对定位,其中,RECORDn定位到n号记录,TOP定位到第1个记录,

BOTTOM定位到最后一个记录。

第二个命令定位到第n个记录,n是一个数值。

第三个命令又叫相对定

位,它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一个记

录。

LOCATE[<范围>]FOR<表达式>范围:

ALLNEXTN,RECORDN,REST

12、CHANGE和EDIT

作用:

显示要编辑或修改的字段。

格式:

CHANGE|EDIT[<范围>][FIELDS<字段名表>][WHILE<条件>][FOR<条件>]

13、REPLACE

格式:

REPLACE[<范围>]<字段1>WITH<表达式1>[,<字段2>WITH<表达式2>][FOR<条件>][WHILE<条件>]

例:

REPLACEALL工资WITH工资+200FOR工资<1000

REPLACEFROMARRAY数组名[FIELDS字段名列表][常用子句]——用内存数组的值更新数据表中的记录:

14、DELETE、PACK、ZAP和RECALL

作用:

分别是给要删除的记录作删除标记、彻底删除、删除所有记录和取消被选中的表记录的删除标志。

格式:

DELETE[<范围>][WHILE<条件>][FOR<条件>](特例:

DELETEFILEFILENAME.DBF,该命令删除指定的表文件)

DELETE  TAGALL[OF复合索引文件名]

DELETE  TAG索引标识1[OF复合索引文件名1][,索引标识2[OF复合索引文件名2>…

例:

DELETEFROM订单WHERE签订日期<={^2001-01-02}

PACK

ZAP

RECALL[<范围>][FOR<条件>][WHILE<条件>]

13、SORT和INDEX

1)SORT

作用:

是建立一个其记录以新的物理顺序排列的新表文件,原文件不变.

格式:

SORTTO<文件名>ON<字段名1>[/A][/C][/D][,<字段名2>[/A][/C][/D>...

[ASCENDING|DESCENDING][<范围>][FOR<条件>][WHILE<条件>][FIELDS<字段表>]

2)INDEX

作用:

对当前表根据关键字表达式的值从小到大排列,并存入TO后指定的索引文件名的文件或复合索引文件的一个标识中。

格式:

INDEXON<关键字表达式>TO<文件名>

INDEXON<关键字表达式>TAG<标识名>[OF<文件名>][FOR<条件>]

说明:

第1个命令中,/A按字段名升序排序,/D按字段名降序排序,/C忽略大小写,针对字符型。

关键字而言,ASCENDING和DESCENDING分别表示升序和降序。

第1个命令建立.dbf表文件,第2个命令建立.idx单一索引文件,第3个命令建立.cdx复合索引文件(CompoundIndex)。

15、USE<表文件名>INDEX<索引文件名表>、SETINDEXTO和SETORDERTO

作用:

分别是打开表文件的同时打开索引文件、打开索引文件和改变主索引。

并确定第一个索引文件为主控索引文件.(当前起作用的索引文件称为主控索引文件,当前起作用的索引标识称为主控索引)

格式:

USE<表文件名>INDEX<索引文件名表>

SETINDEXTO[<索引文件名表>]

作用:

打开当前表的一个或多个索引文件并确定第一个索引文件为主控索引文件,该命令用于单索引文件.

格式:

SETINDEXTO[<索引文件表>][ADDITIVE]

说明:

(1)[<索引文件表>]中第一个索引文件为主控索引文件.

(2)若缺省ADDITIVE选项,则在用本命令打开索引文件时,除结构复合索引文件以外的索引文件均被关闭

SETORDERTO[<数值表达式>]|[<单索引文件名>]|[TAG]<索引标识>[ASCENDING|DESCENDING>(特例:

重新索引命令:

REINDEX)

作用:

对于打开表时自动打开的复合索引文件确定主索引,也能确定主索引文件.

(1)    数值表达式表示已打开的索引的序号.系统先为单索引文件编号,故结构复合索引文件的序号比单索引文件大.

(2)    SETORDERTO或SETORDERTO0命令取消主索引和主索引文件,表中记录将按物理记录输出.

16、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

作用:

分类汇总命令,按<表达式>做过索引或排序的表文件的数字型字段进行分类汇总。

它把与<表达式>值相同的所有记录中的数字字段的值分别进行求和,并各自作为一条记录存放在由文件指定的文件中去。

在新生成的记录中,还将包括与<表达式>值相同的所有记录中的首项记录的其他字段内容。

格式:

TOTALTO<文件名>ON<表达式>[FIELDS<数值型字段名表>][<范围>][FOR<逻辑表达式1>][WHILE<逻辑表达式2>]

例:

USEB2-1

INDEXON职称TOZC

TATOLON职称TOB2-1TFILEDS工资

22.APPENDFROM

作用:

从其他文件向表文件添加数据。

数据来源文件既可以是表文件,也可是文本文件或其他符合规定的文件。

从一个文件输入一个OLE对象放入一个通用(general)字段:

APPENDGENERAL通用字段名[FROMfilename]如果省略子句FROMfilename,则将指定的字段清空。

将一个文本文件的内容拷贝到一个备注字段:

APPENDMEMO备注字段名[FROMfilename][OVERWRITE]

格式:

APPENDFROM<文件名>|?

[FIELDS<字段名表>][FOR<逻辑表达式>]

FIELDS<字段名表>和FOR<逻辑表达式>,用于源文件为表文件时,指定追加记录的字段和条件。

在字段名表和逻辑表达式中的字段名,必须是在来源和目的两个文件中公有的,共注意宽度和类型匹配。

实际应用中,数据来源文件常为表文件(.DBF)和ASCII码文本文件(.TXT)

对于文本文件又有标准格式(SDF)和通用格式(DELIMITED)之分.

例:

USEB2-1APPEFROMS3-1.TXTSDFBROWSE

23.COPY(选择表的部分内容生成一个新表)

作用:

把打开的表文件结构及数据复制成由<文件名>所指定的并符合规定要求的文件。

如果默认全部选择项和文件名的扩展名,则结构及全部数据都被复制,且其文件扩展名由系统规定为“.DBF”。

格式:

COPYTO<文件名>[FIELDS<字段名表>][<范围>][FOR<逻辑表达式1>][WHILE<逻辑表达式2>]

格式中的或用来为新表建立一个与原表相同的结构索引.

例1:

COPYTOB3-2COPYTOS3-2.TXTSDF

例2:

USERS

COPYTORS3FIELDS姓名,基本工资,奖金

USERS3

LIST

24.COPYFILE复制数据整表:

(可用于复制任何类型文件)

COPYFILE原文件名TO目标文件名

注:

复制表时,还应当复制和它相配的备注文件(.FPT,如有备注字段)和结构复合索引文件。

当前表应关闭。

(如果已打开表:

COPYTO新文件名)

例:

将RS.DBF复制为RS1.DBF

COPYFILERS.DBFTORS1.DBF

或 USE RSCOPYTORS1USERS1LIST

25.COPYSTRUCTURE(只复制结构不复制数据)

作用:

表文件结构复制,生成一个指定文件名和包括指定字段的表文件结构;如有CDX或PRODUCTION选择项还将为新表建立一个与源表相同的结构索引.

格式:

COPYSTRUCTURETO<文件名>[FIELDS<字段名表>]

例:

COPYSTRUCTURETOB3-3FIELDS编号,姓名,何时工作,职称

26.copyto建立结构扩展文件

作用:

把已打开的表文件的结构作为数据记录复制到由<文件名>指定的库文件中去.

格式:

COPYTO<文件名>STRUCTUREEXTENDED

例:

USEB3-3

COPYTOB3-4STRUCTUREEXTENDED

USEB3-4

BROW

该命令可以用于测试表文件结构,也可以用于顺序方式建立库文件结构.

新库文件的结构是一个由系统规定的标准结构,它由4个字段构成:

FIELD_NAME字段名

FIELD_TYPE  字段类型

FIELD_LEN   字段宽度

FIELD_DEC   小数位数

27.常用命令:

库表

打开数据:

OPENDATABASE库文件名

打开表:

USE表文件名

使用非前库的表:

USE库名!

表名

打开索引表:

USE表名INDEX索引名

显示库信息:

DISPDATABASE[TOPRINTER]

显示记录:

LIST(快速查看)

BROWSE(分屏浏览可修改)

DISP(显示当前记录)

关闭数据库:

CLOSEALL(关闭所有库、表、索引)

关闭表:

USE

CLOSEDATABASES(关闭当前库、表)CLOSETABLES(关闭当前表,不关库)

CLOSEINDEXES(关闭当前索引)

添加表:

ADDTABLE表名追加记录:

APPEND

APPENDFROM源文件

移去表:

REMOVETABLE表名

删除库:

DELETEDATABASE库名(先关闭库)

删除表:

DELETEFILE表名(先关闭表)

二、字符中操作函数

UPPER(S)小写字母UPPER(abc)ABC

LOWER(S)大写字母LOWER(ACD)acd

LEN(S)求字符串的长度LEN("中国1号")7

AT(S1,S2)在字符串S2,找字符串S1AT("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&PUSEG2

二、常用函数

1、数学函数

函数用途

ABS(<数值表达式>)绝对值,|x|

CEILING(<数值表达式>)>=自变量的最小整数

EXP(<数值表达式>)对基E的幂,e=2.71828

FLOOR(<数值表达式>)<=自变量的最大整数

INT(<数值表达式>)取整(舍尾)自变量

LOG(<数值表达式>)自变量的自然对数,lnx

LOG10(<数值表达式>)自变量的普通对数,lgx

MAX(<表达式1>,<表达式2>)两个值的最大值

MIN(<表达式1>,<表达式2>)两个值的最小值

MOD(<数值表达式1>,<数值表达式2>)求余数

RAND([<数值表达式1>])返回伪随机数

ROUND(<数值表达式1>,<数值表达式2>)四舍五入第一个自变量

SIGN(<数值表达式>)自变量的符号

SQRT(<数值表达式>)平方根(正根)

2、字符串操作函数

函数用途

&<内存变量>

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1