命令文档格式.docx
《命令文档格式.docx》由会员分享,可在线阅读,更多相关《命令文档格式.docx(12页珍藏版)》请在冰点文库上搜索。
按读者的出生日期升序列出所有读者的记录。
MODIFYPROJECT"
c:
\documentsandsettings\user\桌面\新建文件夹\图书管理系统.pjx"
select*from读者.dbforderby出生日期
(2)条件查询:
从读者.dbf中查询出所有非湖北籍的读者记录
select*from读者.dbfwherenot(籍贯="
湖北"
(3)条件查询:
从图书.dbf中查询出价格在20元以上25元以下的图书记录,并将查询结果存到表chaxun1.dbf中
select*from图书.dbfwhere价格>
20and价格<
25intodbfchaxun1
(4)条件查询:
从图书.dbf中查询出所有“教育出版社”出版的书号、书名、出版社
select书号,书名,出版社from图书.dbfwhere"
教育出版社"
$出版社
建表
createtablestudent(学号c(7),姓名c(10),性别c
(2),出生日期D,少数民族否L,籍贯c(10),入学成绩N(5,1),简历M,照片G)
插入记录
insertintostudent(学号,姓名,性别,出生日期,少数民族否,籍贯,入学成绩)values("
200401"
吴敏琪"
男"
{^1981-06-17},.T.,"
579)依次添加
使用SQL语言的命令将所有姓王的学生的籍贯修改为‘新疆’
Updatestudentset“籍贯”=”新疆”whereleft(姓名,2)=”王”
显示所有男生并且籍贯为湖南或湖北的记录数据
Select*fromstudentwhere性别=”男”and(籍贯=”湖南”or籍贯=”湖北”
显示姓刘学生的姓名、性别、出生日期、籍贯、入学成绩等数据
Select姓名,性别,出生日期,籍贯,入学成绩formstudentwhereleft(姓名,2)=”刘”
统计女生人数
Selectcount(*)as女生人数formstudentwhere性别=”女”
查询所有同学的全部学习成绩,显示学生姓名、课程编号、课程名、成绩等字段
Select学生.姓名,课程.课程编号,课程.课程名,选课.成绩form学生,课程,选课where学生.学号=选课.学号and课程.课程编号=选课.课程编号
对学生.dbf按性别顺序列出学生的学号、姓名、性别、课程名及成绩,性别相同的再先按课程名后按成绩(由高到低)排序,并将查询结果存入_xscj.dbf表中
Select学生.学号,姓名,性别,课程名,成绩from学生,课程,选课where学生.学号=选课.学号and课程编号=选课.课程编号orderby性别,课程名,成绩descto_xscj.dbf
分别统计男女生中入学成绩大于590分的少数民族学生人数
Selectcount(*)as人数fromstudentwhere入学成绩>
590and少数民族否groupby性别
修改记录
(1)打开BROWSE浏览窗口,修改第二个记录,将其总分增加10。
(2)将表中男同学的总分增加10%。
(3)将表中系科为体育的记录删除并恢复。
(4)真正删除表中的第2~5记录(用DELETE/PACK)。
(5)关闭表文件。
(1)browrecord2fields总分with总分+10
(2)replace总分with总分*1.1for性别=”男”
(3)deleteallfor系科=”体育”
Recallall
(4)deleteforrecno()>
=2.and.recno()<
=5
Pack
(5)use
显示表记录
(1)显示表中所有女同学的记录。
(2)显示表中的"
姓名,出生日期,总分"
三个字段的内容。
(3)显示表中男同学中总分大于550的记录,要求只要显示姓名,性别,总分三个字段。
(4)显示表中1986年以前出生的学生记录。
(5)显示表中从第5个记录开始的剩余所有记录。
(1)Listfor性别=”女”
(2)Listfield姓名,出生日期,总分
(3)List姓名,性别,总分for总分>
550and性别=”男”
(4)Listfor性别=”男”andyear(出生日期)<
=1986
或者listfor出生日期<
={^1986-12-31}或者listfor出生日期<
=ctod(“12/31/1986”)
(5)Go5
Listrest
记录的增加
(1)在表中增加一条记录(内容自定)。
(2)在表中第三条记录前插入一条记录(内容自定)。
(3)对表中的第二条记录编辑备注字段,添加内容"
THESTUDENTISGOOD"
。
(1)在表里追加新记录
(2)Go3
Insertblankbefore
(3)go2
将student.dbf表的结构复制到新表student1.dbf中:
copystrutostudent1.dbf
将student.dbf表中所有男生的记录都复制到student2.dbf中:
copytostudent2.dbffor性别=”男”
显示所有女生的姓名listfield姓名for性别=”女”
显示第三条记录的内容listrecord3
显示前三条男教师的姓名、出生日期、职称。
Listnext3fields姓名,出生日期,职称for性别=”男”
从第三条记录开始显示到末尾记录go3listrest
显示所有男教授的姓名、年龄、基本工资
List姓名,年龄,基本工资for性别=”男”and职称=”教授”
显示所有男性教授或副教授。
Listfor性别=”男”and(职称=”教授”or职称=”副教授”)
显示所有姓林的教师listforleft(姓名,2)=”林”listforsubst(姓名,1,2)=”林”
Browforat(“林”,姓名)=1
显示姓名中含有林字的记录listfor“林”$姓名
显示成绩在550-600分之间的记录listfor总分>
550and总分<
600
显示大于27岁的人的记录browfor(date()-year(出生日期)>
27
或者listforyear(date())-year(出生日期)>
删除与恢复的命令
删除所有男教师的记录deletefor性别=”男”
在删除所有男教师的记录的前提下,除姓林的外,恢复所有男教师的记录
Recallforleft(姓名,2)=”林”
在删除所有男教师的记录的前提下,除姓陈的助讲外,恢复所有男教师的记录
Recallforleft(姓名,2)=”陈”and职称=”助讲”
对zg.dbf排序、索引命令
按基本工资降序建立排序文件szg1.dbfsorttoszg1bfon基本工资/D
按基本工资建立单项索引,文件名为izg1.idxindexon基本工资toizg1.idx
按基本工资建立结构复合索引文件,按降序索引
indexon基本工资tag基本工资desc
按基本工资建立独立复合索引文件,索引标识为jbgz,按降序索引,文件名为zgd1.cdx
Indexon基本工资tagjbgzdescofzgd1.cdx
查找与统计的操作
查找刘一凡locatefor姓名=”刘一凡”或者seek”刘一凡”或者find刘一凡
查找姓王的人locateforleft(姓名,2)=”王”
查找职工号为3002姓名为丁强的记录locatefor职工号=”3002”and姓名=”丁强”
查找1966年8月4日出生,职称为副教授的记录
Locatefor出生日期={^1966-8-4}and职称=”副教授”
计算实发工资字段的值,实发工资=基本工资+津贴-扣款
Replaceall实发工资with基本工资+津贴-扣款
统计男教师与女教师的人数
Counttoxfor性别=”男”
Counttoxfor性别=”女”
统计女教师的实发工资、津贴总和sum实发工资,津贴for性别=”女”
求男教师的平均基本工资average基本工资for性别=”男”
计算平均基本工资、平均津贴、最高基本工资和最少基本工资
Calculateavg(基本工资),avg(津贴),max(基本工资),min(基本工资)
按zc职称进行基本工资的汇总,汇总结果写入表zchz.dbf
Indexon职称tagzc
Setordertozc
Totaltozchz.dbfonz职称fields基本工资
统计命令和多表操作
一、统计命令
以下操作针对课程表course.dbf
1.计算表中所有学分的总和,把它存入变量T1中,并显示该变量的值。
2.计算公共基础课的学时数的和,结果存入变量T2中,并显示该变量的值。
3.统计专业选修课的数量,结果存入变量T3中,并显示该变量的值。
以下操作针对学生表student.dbf
4.求表student.dbf中所有女生的平均总分,结果存入变量A中。
5.统计表student.dbf中86年出生的人数,把它存入变量T4中,并显示该变量的值。
OPENDATABASEc:
\users\asus\desktop\vfp\学生成绩数据库.dbc
MODIFYDATABASE
1、sum学分toT1
?
T1
2、sum学时数toT2for课程名="
计算机文化基础"
?
T2
3、counttoT3for类别="
专业选修课"
T3
4、average总分toAfor性别="
女"
5、counttoT4foryear(出生日期)=1986或出生日期={^1986}
T4
二、数据库的相关操作
1、打开“学生成绩数据库.dbc”,将表course.dbf添加到该数据库中。
操作步骤:
(1)通过选择“文件”菜单项下的“打开”选项,指定文件类型为数据库(dbc)。
在出现的对话框中选取数据库文件“学生成绩数据库.dbc”所在的位置,找到“学生成绩数据库.dbc”,单击“确定”。
(2)在出现的数据库设计器窗口中单击鼠标右键,弹出快捷菜单,选择“添加表”选项,然后在“打开”对话框中,选定自由表“courser.dbf”,点击“确定”按钮。
2、建立“学生成绩数据库.dbc”中表之间的永久关系,表student.dbf和表assign之间是一对多关系,表course.dbft表assign之间是一对多关系。
操作步骤:
(1)分别用鼠标右击每个数据库表,在弹出的快捷菜单中选取“修改”选项,出现“表设计器”窗口。
(2)对表student.dbf,建立以学号为索引表达式的主索引;
对表assign.dbf,建立以学号为索引表达式的普通索引。
(3)建立永久关系。
将鼠标指向“student.dbf”表中的主索引“学号”,按下鼠标左键拖动到“assign.dbf”表中的普通索引“学号”上,然后释放鼠标左键,这时拖动过程中出现的小方块消失,并可看到两个表之间出现了一条连接线,表示两个表间的关系已经建立。
(4)运用同样的操作步骤建立表course和表assign之间的关系。
3、为表student和表assign之间建立的联系指定参照完整性,其中插入规则为“限制”,更新规则和删除规则为“级联”。
在数据库设计器窗口中单击鼠标右键,弹出快捷菜单,选择“编辑参照完整性”选项,在“参照完整性生成器”对话框中,选取父表列中的表student,再选中插入规则选项卡,点击“限制”单选钮。
然后分别选中更新规则选项卡和删除规则选项卡,点击“级联”单选钮,最后单击“确定”。
验证插入规则是否“限制”:
为成绩表assign增加一条记录,学号为“20080033”,由于学生表记录中无学号为“20080033”的学生记录,因此增加不了。
验证更新规则是否“级联”:
把“student.dbf”中的学号“20080005”改为“20080105”,查看assign.dbf中的相关记录是否随之修改了。
验证删除规则是否“级联”:
删除student.dbf”中的学号“20080001”的记录,查看assign.dbf中的相关记录是否随之删除。
三、多表操作
1、工作区选择操作。
2、分别在两个工作区打开“student.dbf”与“assign.dbf”,建立表间的临时关联,移动student.dbf的记录指针,查看某个学生的成绩记录。
select1
usestudent
select2
useassign
indexon学号tagxh
setordertoxh
setrelationto学号intob
go3
disp
SELECT1
SETORDERTOTAGXhOF"
\documentsandsettings\user\桌面\vfp\assign.cdx"
INAssign
SETRELATIONTO学号INTOAssignADDITIVE
SELECT2
BROWSELAST
表的排序和索引
使用命令排序、建立和使用索引。
1、将表student.dbf按"
总分"
字段降序排序,生成新表文件student3.dbf,并在屏幕上显示新表的记录。
2、将表student.dbf中的男同学记录按出生日期排序,生成新表文件student4.DBF。
3、对表course.dbf,分别以课程号、课程名和类别为索引表达式建立三个结构复合索引,索引名分别为kch,kcm,lb。
4、设定主控索引为kcm,并显示表中的记录。
5、用LOCATE命令查找课程名为“网页程序设计”的记录。
6、用FIND和SEEK命令查找课程号为“B002”的记录。
1、usestudent
indexon-总分tostudent3.dbf
list
2、indexon出生日期tostudent4.DBF
补充indexon姓名tagxm
setordertoxm
List
3、USE"
\documentsandsettings\user\桌面\20120296\course.dbf"
EXCLUSIVE
MODIFYSTRUCTURE
indexon课程号tagkch
indexon课程名tagkcm
indexon类别taglb
4、MODIFYSTRUCTURE
setordertokcm
5、locatefor课程名="
网页程序设计"
display
6、seek"
B002"
foun()
seek"
补充分类汇总brow
totaltozcj.dbfon学号fields成绩
输入命令
输出结果
2*3^3+2*8
70
13-4%5-2^3
1.00
INT(-3.1415926),INT(ABS(99-100)/2)
-30
ROUND(-3.1415926,5)
-3.14159
SQRT(10)
3.16
RAND()
0到1的随机函数值
"
visual"
+"
foxpro"
-"
visualfoxprovisualfoxpro
AT("
fox"
1
LEN("
VisualFoxPro"
13
RIGHT("
3)
pro
SUBSTR("
数据库应用技术"
7,4)
应用(第七个字节的后面四个字节)
{^2004-04-28}>
DATE()
.F.
DATE()-{^2002-06-10}
3955(当前电脑的日期减去2002-06-10的日子)
DATE()-100
12\29\12(当前日期减100天的日期)
YEAR(DATE())
2013
MONTH({^2000-12-22}-40)
11(此日期减去40天是哪个月份)
{^2008-10-2}>
{^2008-10-5}
'
abc'
<
='
AB'
INT(10.512)>
10
NOT(10>
5)
(10*2=20)AND(10>
12)
(10*2=20)OR(10>
.T.
STR(12345.678,8,1)
12345.7
STR(12345.678,8,2)
12345.68
ab"
$"
abcd"
ANDNOT(3<
4)
SUBSTR(DTOC(DATE()),7,2)
ASC("
A"
),CHR(98)
65b
DATE()
04/08/13
setDATETOANSI
date()
13.04.08
setDATETOAMERICAN
SETCENTURYON
04/08/2013
STORE5TOm1,m2,m3
"
L="
2*PI()*m1
S="
PI()*m1*m1
L=31.42
S=78.54
s="
VisualFoxPro程序设计"
LEN(s)
LEFT(s,6)
RIGHT(s,4)+SUBSTR(s,15,4)
22
Visual
设计程序
4、计算出assign表中选修了课程号为C0004的学生的平均成绩。
selectavg(成绩)fromassignwhere课程号="
c0004"
5、列出所有成绩在85分以上的学生的学号、课程名、学时数、成绩。
(提示:
本题涉及到两个表,需用连接查询)
selectstudent.学号,课程名,学时数,成绩fromstudent,assign,coursewherestudent.学号=assign.学号;
andassign成绩>
=85andassign.课程号=course.课程号