1、命令用SQL语言建表数据定义语句:CREATE(创建表结构)、ALTER(修改表结构)、DROP(删除表)数据操作语句:INSERT(插入记录)、DELETE(删除记录)、UPDATE(修改记录)查询语句:SELECT1、创建表:创建一个学生表 xs.dbf,包括以下字段(学号,姓名,性别,出生日期,入学成绩,专业)create table xs.dbf (学号 C(8),姓名 C(8),性别 L,出生日期 D,入学成绩 N(6,2),专业 C(30)Brow2、修改表结构:把xs.dbf中的字段姓名宽度改为10;增加一个字段 籍贯,字符型,宽度为10alter table xs.dbf al
2、ter 姓名 C(10)alter table xs.dbf add 籍贯 C(8)Brow3、增加记录:向 xs.dbf 中输入三条记录insert into xs (学号,姓名,性别,出生日期,入学成绩,专业,籍贯) values (200060001,王晓,.T.,1990-1-12,523.10,法学,江西)Brow4、修改记录:将所有姓王的学生的籍贯修改为“山东”update xs.dbf set 籍贯=山东 where 姓名=王Brow5、删除记录:删除姓王的学生的记录delete from xs where left(姓名,2)=王packbrow(1)简单查询:按读者的出生日期
3、升序列出所有读者的记录。MODIFY PROJECT c:documents and settingsuser桌面新建文件夹图书管理系统.pjxselect * from 读者.dbf order by 出生日期(2)条件查询:从读者.dbf中查询出所有非湖北籍的读者记录select * from 读者.dbf where not (籍贯=湖北)brow(3)条件查询:从图书.dbf中查询出价格在20元以上25元以下的图书记录,并将查询结果存到表chaxun1.dbf中select * from 图书.dbf where 价格20 and 价格590 and 少数民族否 group by 性别
4、 修改记录(1) 打开BROWSE浏览窗口,修改第二个记录,将其总分增加10。(2) 将表中男同学的总分增加10%。(3) 将表中系科为体育的记录删除并恢复。(4) 真正删除表中的第25记录 (用DELETE/ PACK)。(5) 关闭表文件。(1)brow record 2 fields 总分 with 总分+10(2)replace 总分 with 总分*1.1 for 性别=”男”(3)delete all for 系科=”体育” Recall all (4)delete for recno()=2.and.recno()550 and 性别=”男”(4)List for 性别=”男”
5、and year(出生日期) =1986 或者list for 出生日期=1986-12-31 或者list for 出生日期550 and 总分27或者list for year(date()-year(出生日期)27删除与恢复的命令删除所有男教师的记录 delete for 性别=”男”在删除所有男教师的记录的前提下,除姓林的外,恢复所有男教师的记录Recall for left(姓名,2)=”林”在删除所有男教师的记录的前提下,除姓陈的助讲外,恢复所有男教师的记录Recall for left(姓名,2)=”陈” and 职称=”助讲”对zg.dbf排序、索引命令按基本工资降序建立排序文
6、件szg1.dbf sort to szg1bf on 基本工资/D按基本工资建立单项索引,文件名为izg1.idx index on 基本工资 to izg1.idx 按基本工资建立结构复合索引文件,按降序索引index on 基本工资 tag 基本工资 desc按基本工资建立独立复合索引文件,索引标识为 jbgz,按降序索引,文件名为zgd1.cdxIndex on 基本工资 tag jbgz desc of zgd1.cdx查找与统计的操作查找刘一凡 locate for 姓名=”刘一凡” 或者seek ”刘一凡” 或者find 刘一凡查找姓王的人 locate for left(姓名,
7、2)=”王”查找职工号为3002姓名为丁强的记录 locate for 职工号=”3002” and 姓名=”丁强”查找1966年8月4日出生,职称为副教授的记录Locate for 出生日期=1966-8-4 and 职称=”副教授”计算实发工资字段的值,实发工资=基本工资+津贴-扣款Replace all 实发工资 with 基本工资+津贴-扣款统计男教师与女教师的人数 Count to x for 性别=”男”Count to x for 性别=”女”统计女教师的实发工资、津贴总和 sum 实发工资,津贴 for 性别=”女”求男教师的平均基本工资 average 基本工资 for 性别
8、=”男”计算平均基本工资、平均津贴、最高基本工资和最少基本工资Calculate avg(基本工资),avg(津贴),max(基本工资),min(基本工资)按zc职称进行基本工资的汇总,汇总结果写入表zchz.dbfIndex on 职称 tag zcSet order to zc Total to zchz.dbf on z职称 fields 基本工资统计命令和多表操作一、统计命令以下操作针对课程表course.dbf1. 计算表中所有学分的总和,把它存入变量T1中,并显示该变量的值。2. 计算公共基础课的学时数的和,结果存入变量T2中,并显示该变量的值。3. 统计专业选修课的数量,结果存入
9、变量T3中,并显示该变量的值。以下操作针对学生表student.dbf4. 求表student.dbf中所有女生的平均总分,结果存入变量A中。5. 统计表student.dbf中86年出生的人数,把它存入变量T4中,并显示该变量的值。OPEN DATABASE c:usersasusdesktopvfp学生成绩数据库.dbcMODIFY DATABASE1、sum 学分 to T1?T12、sum 学时数 to T2 for 课程名=计算机文化基础?T23、count to T3 for 类别=专业选修课?T34、average 总分 to A for 性别=女5、count to T4 fo
10、r year(出生日期)=1986或出生日期=1986?T4二、数据库的相关操作1、打开“学生成绩数据库.dbc”,将表course.dbf添加到该数据库中。操作步骤:(1) 通过选择“文件”菜单项下的“打开”选项,指定文件类型为数据库 (dbc) 。在出现的对话框中选取数据库文件“学生成绩数据库.dbc”所在的位置,找到“学生成绩数据库.dbc”,单击“确定”。(2) 在出现的数据库设计器窗口中单击鼠标右键,弹出快捷菜单,选择“添加表”选项,然后在“打开”对话框中,选定自由表 “courser.dbf”,点击“确定”按钮。2、建立“学生成绩数据库.dbc”中表之间的永久关系,表student
11、.dbf和表assign之间是一对多关系,表course.dbft 表assign之间是一对多关系。操作步骤:(1) 分别用鼠标右击每个数据库表,在弹出的快捷菜单中选取“修改”选项,出现“表设计器”窗口。(2) 对表student.dbf,建立以学号为索引表达式的主索引;对表assign.dbf,建立以学号为索引表达式的普通索引。(3) 建立永久关系。将鼠标指向“student.dbf”表中的主索引“学号”,按下鼠标左键拖动到“assign.dbf”表中的普通索引“学号 ”上,然后释放鼠标左键,这时拖动过程中出现的小方块消失,并可看到两个表之间出现了一条连接线,表示两个表间的关系已经建立。(4
12、)运用同样的操作步骤建立表course和表assign之间的关系。3、为表student和表assign之间建立的联系指定参照完整性,其中插入规则为“限制”,更新规则和删除规则为“级联”。在数据库设计器窗口中单击鼠标右键,弹出快捷菜单,选择“编辑参照完整性”选项,在“参照完整性生成器”对话框中,选取父表列中的表student,再选中插入规则选项卡,点击“限制”单选钮。然后分别选中更新规则选项卡和删除规则选项卡,点击“级联”单选钮,最后单击“确定”。验证插入规则是否“限制”:为成绩表assign增加一条记录,学号为“20080033”,由于学生表记录中无学号为“20080033”的学生记录,因此
13、增加不了。验证更新规则是否“级联”:把“student.dbf”中的学号“20080005”改为“20080105”,查看assign.dbf中的相关记录是否随之修改了。验证删除规则是否“级联”:删除student.dbf”中的学号“20080001”的记录,查看assign.dbf中的相关记录是否随之删除。三、多表操作1、工作区选择操作。2、分别在两个工作区打开“student.dbf”与“assign.dbf”,建立表间的临时关联,移动student.dbf的记录指针,查看某个学生的成绩记录。select 1use studentselect 2use assignindex on 学号
14、tag xhset order to xhselect 1set relation to 学号 into bgo 3dispselect 2dispSELECT 1SET ORDER TO TAG Xh OF c:documents and settingsuser桌面vfpassign.cdx IN AssignSET RELATION TO 学号 INTO Assign ADDITIVESELECT 2SELECT 1SELECT 2SELECT 1SELECT 2SELECT 1BROWSE LAST表的排序和索引使用命令排序、建立和使用索引。1、将表student.dbf按总分字段降序
15、排序,生成新表文件student3.dbf,并在屏幕上显示新表的记录。2、将表student.dbf中的男同学记录按出生日期排序,生成新表文件student4.DBF。3、对表course.dbf,分别以课程号、课程名和类别为索引表达式建立三个结构复合索引,索引名分别为kch,kcm,lb。4、设定主控索引为kcm,并显示表中的记录。5、用LOCATE命令查找课程名为“网页程序设计”的记录。6、用FIND和SEEK命令查找课程号为“B002”的记录。1、use studentindex on -总分 to student3.dbflist2、index on 出生日期 to student4.
16、DBFlist补充index on 姓名 tag xmlistset order to xmList3、USE c:documents and settingsuser桌面20120296course.dbf EXCLUSIVElistbrowMODIFY STRUCTUREbrowindex on 课程号 tag kchlistindex on 课程名 tag kcmlistindex on 类别 tag lblist4、MODIFY STRUCTUREbrowlistset order to kcmlistbrow5、locate for 课程名=网页程序设计display6、seek B
17、002?foun()display?foun()seek B002display补充分类汇总browindex on 学号 tag xhset order to xhtotal to zcj.dbf on 学号 fields 成绩index on 学号 tag xhset order to xhtotal to zcj.dbf on 学号 fields 成绩display输入命令输出结果?2*33+2*870?13-4%5-231.00?INT(-3.1415926),INT(ABS(99-100)/2)-3 0?ROUND(-3.1415926,5)-3.14159?SQRT(10)3.16
18、?RAND()0到1的随机函数值? visual +foxpro,visual -foxprovisual foxpro visualfoxpro? AT(fox,foxpro)1? LEN(Visual FoxPro)13? RIGHT(Visual FoxPro,3)pro? SUBSTR(数据库应用技术,7,4)应用(第七个字节的后面四个字节)? 2004-04-28DATE().F.? DATE()-2002-06-103955(当前电脑的日期减去2002-06-10的日子)? DATE()-100122912(当前日期减100天的日期)? YEAR(DATE()2013? MONTH(2000-12-22-40)11(此日期减去40天是哪个月份)? 2008-10-22008-10-5.F.?abc 10.F.? NOT(105).F.? (10*2=20) AND (1012).F.? (10*2=20) OR (1012).T.? STR(12345.678,8,1)12345.7? STR(12345.678,8,2)12345.68? ab$abcd AND NOT(3= 85 and assign.课程号=course.课程号
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2