索引VFP中SQL语句大全

sql语句大全  时间:2021-02-27  阅读:()

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 TABLE xscj DROP COLUMN kc

3. 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 cj>80

5.DELETE-SQL命令。

命令格式: 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分组字段名]

[HAV ING分组中的满足条件]

[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 =cs 1 ;

ORDER BY表xs.xh;

INTO TABLE xs

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

SELECT表xs.bj as班级名称, COUNT(表xs.xh) as班级人数, AVG(表cj. cj) as平均分, ;MAX(表c j.c j) as最高分, MIN(表c j.c j) as最低分;

FROM数据test!表xs,数据test!表cj,数据test!表kc;

WHERE表cj.xh =表xs.xh;

AND表kc.kcm =表cj.kcm;

AND表cj.kcm = s c 1 ;

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" pr imary key, ;xm c(6) , ;xb c(2) check xb="男" or xb="女" error"性别只能是男或女" default "女", ;nl n(2) nul l ;

) &&创建学生表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 pr imary key xh+kch+str (cj,4, 1) tag dh &&为成绩表添加一个主索引

一、主要命令:

1、 CREATE

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

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

CREATE VIEW <视图名> AS <SELECT查询语句>——建立视图

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

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、 UPDATEupdate <表名> 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<条件>]

13、 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) 。

15、 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命令取消主索引和主索引文件,表中记录将按物理记录输出.

16、 FIND、 SEEK和LOCATE及CONTINUE

作用:前两个命令FIND和SEEK是在一个已经建立了索引文件的表中,定位到关键字中的内容与命

令行中字符串相同的第一个记录。后一个命令在用USE打开表文件以后,直接查询表中字段内容。格式: FIND < “字符串” >|<字符串>SEEK <表达式> (表达式的数据类型可为字符型、数字型、日期型和逻辑型。 )

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

CONTINUE

说明: FIND命令与SEEK命令的区别是前者后跟字符串,而后者后跟表达式。在用LOCATE命令找到

一个匹配记录后,可用CONT INUE命令搜索表的剩余部分来寻找其他匹配的记录。

18、 COUNT

作用:统计当前表文件中符合条件的记录数。

格式: COUNT [<范围>] [FOR <条件>] [WHILE<条件>] [TO <内存变量名>]

说明: 内存变量名可用除参数外的任意字符。

19、 SUM

作用:对当前表中选中记录的全部或指定的数值字段或由指定字段组成的数值表达式累加求和。格式: SUM [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条件>]

20、 AVERAGE

作用:对当前表中选中记录的全部或部分数值型字段及其组成的表达式求平均值并显示。格式:AVERAGE [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条件>]

LOCVPS新上日本软银线路VPS,原生IP,8折优惠促销

LOCVPS在农历新年之后新上架了日本大阪机房软银线路VPS主机,基于KVM架构,配备原生IP,适用全场8折优惠码,最低2GB内存套餐优惠后每月仅76元起。LOCVPS是一家成立于2012年的国人VPS服务商,提供中国香港、韩国、美国、日本、新加坡、德国、荷兰、俄罗斯等地区VPS服务器,基于KVM或XEN架构(推荐选择KVM),线路方面均选择国内直连或优化方案,访问延迟低,适合建站或远程办公使用。...

RAKsmartCloud服务器,可自定义配置月$7.59

RAKsmart商家一直以来在独立服务器、站群服务器和G口和10G口大端口流量服务器上下功夫比较大,但是在VPS主机业务上仅仅是顺带,尤其是我们看到大部分主流商家都做云服务器,而RAKsmart商家终于开始做云服务器,这次试探性的新增美国硅谷机房一个方案。月付7.59美元起,支持自定义配置,KVM虚拟化,美国硅谷机房,VPC网络/经典网络,大陆优化/精品网线路,支持Linux或者Windows操作...

SugarHosts新增Windows云服务器sugarhosts六折无限流量云服务器六折优惠

SugarHosts糖果主机商我们较早的站长们肯定是熟悉的,早年是提供虚拟主机起家的,如今一直还在提供虚拟主机,后来也有增加云服务器、独立服务器等。数据中心涵盖美国、德国、香港等。我们要知道大部分的海外主机商都只提供Linux系统云服务器。今天,糖果主机有新增SugarHosts夏季六折的优惠,以及新品Windows云服务器/云VPS上线。SugarHosts Windows系统云服务器有区分限制...

sql语句大全为你推荐
ovOV是什么意思,还有HR是什么意思?注:某两个英文单词缩写。手游运营手册和平精英打到王者有什么要求博客外链怎么用博客发外链?1433端口路由器1433端口怎么开启百度手写百度为什么没有了在线手写输入法人人逛街包公免费逛街打一成语人人逛街人人都喜欢逛街吗srv记录exchange 2010 自动发现需不需要srv记录网管工具网吧工具有什么?微信怎么看聊天记录如何查找微信聊天记录
me域名 火车票抢票攻略 免费个人博客 魔兽世界台湾服务器 免费网站申请 免费申请网站 搜索引擎提交入口 服务器是干什么用的 photobucket 免备案cdn加速 数据湾 新网dns 架设代理服务器 cdn加速 qq空间打开很慢 blaze paypal兑换 遨游论坛 stealthy 国内云主机 更多