




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第二章数据库的建立与基本操作第二章数据库的建立与基本操作 表:保存在磁盘中的一张二维表。(表:保存在磁盘中的一张二维表。( .DBF/.FPT.DBF/.FPT) 与数据库相关联与数据库相关联的表叫的表叫数据库表数据库表 ;与数据库无关联与数据库无关联的表叫的表叫自由表自由表。 字段(字段(FieldField):表中的一列,规定了数据的特征。):表中的一列,规定了数据的特征。 记录(记录(RecordRecord):表中的一行,多个字段的集合。):表中的一行,多个字段的集合。 表结构(表结构(StructureStructure):存储表记录的一个公共结):存储表记录的一个公共结构。构。
2、要建立一张完整的表,必须先建立表的结构,要建立一张完整的表,必须先建立表的结构,然后再输入记录(数据)。然后再输入记录(数据)。2创建表结构创建表结构表设计器方式表设计器方式用菜单或工具栏打开用菜单或工具栏打开“表设计器表设计器”- - 命令方式命令方式CREATE ? CREATE ? | | 表名表名 “项目管理器项目管理器”中的中的“新建新建”SQLSQL命令方式命令方式 格式:格式: CREATE TABLE | DBF CREATE TABLE | DBF 表文件名表文件名 (字段名(字段名1 1 字段类型字段类型 (字段宽度字段宽度 ,小数位数小数位数) , ,字段名字段名2 2
3、字段类型字段类型 (字段宽度字段宽度 ,小数位数小数位数))功能:创建一个含有指定字段的表。功能:创建一个含有指定字段的表。 3向表中输入数据(记录)向表中输入数据(记录) 记录的输入记录的输入立即输入记录立即输入记录浏览状态下追加记录浏览状态下追加记录用用INSERT-SQLINSERT-SQL命令追加记录命令追加记录用用APPENDAPPEND命令追加记录命令追加记录APPENDAPPENDAPPEND FROM APPEND FROM 表文件名表文件名:从其他表中追加记录。从其他表中追加记录。APPEND FROM APPEND FROM 文本文件名文本文件名 SDFSDF 从文本文件添
4、加。从文本文件添加。从其他类型的文件追加记录从其他类型的文件追加记录4INSERT-SQL命令命令格式格式1:1:INSERT INTO INSERT INTO 表名表名 (字段字段1 1 , ,字段字段2 2 , );); VALUES ( VALUES (表达式表达式1 1 ,表达式表达式2,2,)格式格式2:2:INSERT INTO INSERT INTO 表名表名 FROM ARRAY FROM ARRAY 数组名数组名| |FROM MEMVARFROM MEMVAR功能功能: :在表末尾追加一个包含指定字段值的记录。新记在表末尾追加一个包含指定字段值的记录。新记录的值可以是录的值
5、可以是VALUESVALUES后面的表达式的值,也可以是指后面的表达式的值,也可以是指定数组中各元素的数据,或是指定的内存变量。定数组中各元素的数据,或是指定的内存变量。例例. .向向student.dbfstudent.dbf表末尾添加一条记录,内容如下:表末尾添加一条记录,内容如下: 9601007,”9601007,”曹晓燕曹晓燕“,女女,信息学信息学INSERT INTO student (INSERT INTO student (学号学号, ,姓名姓名, ,性别性别, ,专业专业);); VALUE (9601007 , ” VALUE (9601007 , ”曹晓燕曹晓燕“ “ ,
6、 , 女女 , , 信息学信息学) )注意:追加进表的记录总在最后一条,被追加的表注意:追加进表的记录总在最后一条,被追加的表不需要先打开。不需要先打开。5INSERT-SQL命令命令DIMEN A(6)DIMEN A(6)A(1)=“9811110”A(1)=“9811110”A(2)=“A(2)=“张海洋张海洋”A(3)=“A(3)=“男男”INSERT INTO STUDENT FROM ARRAY AINSERT INTO STUDENT FROM ARRAY ABROWSEBROWSERELEASE ALL &RELEASE ALL &清除所有内存变量清除所有内存变量
7、学号学号=“9911101”=“9911101”姓名姓名=“=“刘长江刘长江”性别性别=“=“男男”INSERT INTO STUDENT FROM MEMVARINSERT INTO STUDENT FROM MEMVARBROWSEBROWSE6格式格式1 : 1 : APPEND blank in nWorkAreaAPPEND blank in nWorkArea 功能功能: : 在指定工作区表的末尾添加记录。在指定工作区表的末尾添加记录。说明:说明:blankblank:在指定表的末尾添加一空记录。此时:在指定表的末尾添加一空记录。此时系统不会自动打开编辑窗口。可以在系统不会自动打开
8、编辑窗口。可以在browsebrowse、changechange、editedit窗口中编辑新记录内容。窗口中编辑新记录内容。 in nWorkArea in nWorkArea: nWorkAreanWorkArea为工作区号,为工作区号,指定追加新记录所在工作区。指定追加新记录所在工作区。APPEND命令命令7格式格式2: 2: APPEND FROM FileName APPEND FROM FileName | | ? Fields FieldList Fields FieldList For Expression For Expression功能功能: : 从指定数据文件中读取数据
9、,并追加到当前表中来。从指定数据文件中读取数据,并追加到当前表中来。说明:说明:FileNameFileName:文件名,指定读取数据的文件。如果给出的文件名:文件名,指定读取数据的文件。如果给出的文件名 不包含扩展名,则默认为表文件。不包含扩展名,则默认为表文件。?:显示?:显示“打开打开”文件对话框,从中选择要读取的数据文件。文件对话框,从中选择要读取的数据文件。Fields FieldListFields FieldList:为用逗号:为用逗号(,)(,)分隔的字段名列表分隔的字段名列表, ,指出要追指出要追 加数据的字段。加数据的字段。For ExpressionFor Express
10、ion: ExpressionExpression为一逻辑表达式,作为筛选条为一逻辑表达式,作为筛选条件,当其为件,当其为“真真”(.T.T.)时,满足条件的记录追加到当前表)时,满足条件的记录追加到当前表中中, ,如果省略如果省略For,For,则文件数据全部追加到当前表中则文件数据全部追加到当前表中. .APPEND命令命令8例例1.1.向向student.dbfstudent.dbf表末尾添加一条记录表末尾添加一条记录 (9811002 (9811002 王小王小 男男 信息学信息学 ) )。 USE STUDENTUSE STUDENT APPEND APPEND (在编辑窗口添加学号
11、(在编辑窗口添加学号, ,姓名姓名, ,性别性别, ,专业的具体值)专业的具体值)或者或者: : INSERT INTO STUDENT ( INSERT INTO STUDENT (学号学号, ,姓名姓名, ,性别性别, ,专业专业) ) ; VALUES (9811002,VALUES (9811002,王小王小,男男,信息学信息学)例例2.2.向表向表score1.dbfscore1.dbf中添加两条空白记录。中添加两条空白记录。use score1use score1append blankappend blank append blank append blankbrowsebrow
12、se9例如:有两个结构完全相同的表例如:有两个结构完全相同的表STUDENT.DBFSTUDENT.DBF和和 TTT.DBF,TTT.DBF,用用VFPVFP命令命令(1 1)将)将TTT.DBFTTT.DBF的全部记录添加到的全部记录添加到STUDENT.DBFSTUDENT.DBF记录的后面。记录的后面。(2 2)将)将TTT.DBFTTT.DBF的女性记录添加到的女性记录添加到STUDENT.DBFSTUDENT.DBF记录的后面。记录的后面。(3 3)将)将TTT.DBFTTT.DBF的全部记录的学号,姓名,专业字段值添加到的全部记录的学号,姓名,专业字段值添加到STUDENT.DB
13、FSTUDENT.DBF记录的后面(其他字段值为空)。记录的后面(其他字段值为空)。USE STUDENTUSE STUDENTBROWSEBROWSEAPPEND FROM TTTAPPEND FROM TTTBROWBROWAPPEND FROM TTT FOR APPEND FROM TTT FOR 性别性别=“=“女女”APPEND FROM TTT FIELD APPEND FROM TTT FIELD 学号,姓名,专业学号,姓名,专业BROWSEBROWSE10用用“表表”菜单追加记录菜单追加记录1. 打开打开STUDENT.DBF,单击单击“显示显示”菜单的菜单的“浏览浏览”命令
14、命令, 出现出现STUDENT浏览窗口浏览窗口;2. 单击单击“表表”菜单的菜单的“追加记录追加记录”命令命令,在在“追追加加”来源窗口的来源窗口的“类型类型”框中选框中选“Table(Dbf)”,在在“来源于来源于”中选择要追加记中选择要追加记录的表名录的表名(TTT);3. 单击单击“确定确定”按钮。按钮。11表结构的修改与复制表结构的修改与复制 表设计器方式表设计器方式打开表文件打开表文件/ /【显示】菜单【显示】菜单/“/“表设计器表设计器”命令命令 命令方式命令方式MODIFY STRUCTURE MODIFY STRUCTURE 功能:打开表设计器,从中可以修改当前或选定表功能:打
15、开表设计器,从中可以修改当前或选定表 的结构。的结构。例:修改例:修改score.dbf,score.dbf,增加平均分字段增加平均分字段N(6,2)N(6,2)USE SCOREUSE SCOREMODIFY STRU MODIFY STRU ( (在表设计器中在表设计器中, ,增加平均分字段增加平均分字段N(6,2)N(6,2)12表结构的修改表结构的修改 ALTER TABLE-SQLALTER TABLE-SQL命令命令ALTER TABLE ALTER TABLE 表名表名 ADD | AlterADD | Alter COLUMNCOLUMN 字段名字段名 字段类型字段类型( (字
16、段宽度字段宽度 ,小数小数)注意注意: :一个一个ALTERALTER命令一次只能对一个字段操作命令一次只能对一个字段操作ADD ADD 字段名:修改宽度字段名:修改宽度例例: :修改修改score.dbf,score.dbf,增加平均分字段增加平均分字段 N(6,2)N(6,2)ALTER TABLE score ADD ALTER TABLE score ADD 平均平均分分 n(6,2)n(6,2)ALTER ALTER 字段名:修改宽度字段名:修改宽度例例: :修改修改score.dbfscore.dbf的的“平均分平均分”字段字段 为为 N(3)N(3)ALTER TABLE sco
17、re ALTER ALTER TABLE score ALTER 平均分平均分 n(3)n(3)13表结构的修改表结构的修改ALTER TABLE ALTER TABLE 表名表名 RENAMERENAME 老字段名老字段名 TOTO 新字段名新字段名 功能功能: : 对表中指定的字段重新命名。对表中指定的字段重新命名。例例: :重命名重命名scorescore表中的表中的“平均分平均分”字段为字段为“平均成绩平均成绩”ALTER TABLE score RENAME ALTER TABLE score RENAME 平均分平均分 TO TO 平均成绩平均成绩ALTER TABLE ALTER
18、 TABLE 表名表名 Drop Drop 字段名字段名 功能功能: : 删除表中指定的字段。删除表中指定的字段。例例: :删除删除scorescore表中的表中的字段字段“平均成绩平均成绩”ALTER TABLE score DROP COLUMN ALTER TABLE score DROP COLUMN 平均成绩平均成绩14表结构的复制表结构的复制1复制表结构复制表结构格式格式: COPY STRUCTURE TO TableName FIELDS FieldList功能功能: 用当前选定的表的结构创建一个新的空自由表。用当前选定的表的结构创建一个新的空自由表。例:将例:将STUDENT
19、.DBF的所有字段复制到的所有字段复制到E:200301文件夹中,文件夹中,新表名为新表名为STU.DBF,并将并将STUDENT中的女生记录添加到中的女生记录添加到STU.DBF中中. USE STUDENT COPY STRU TO E:200301STU USE E:200301STU APPEND FORM FOR 性别性别=“女女” 151.命令方式命令方式格式:格式: LIST | DISPLAY STUCTURE TO PRINTER | TO FILE FileName 功能:显示当前打开的表结构。功能:显示当前打开的表结构。说明说明:1.TO PRINTER 将表结构显示在屏
20、幕上的同时输将表结构显示在屏幕上的同时输出到打印机上。出到打印机上。2.TO FILE FileName 将表结构显示在屏幕上的同将表结构显示在屏幕上的同时输出到文本文件中。时输出到文本文件中。 3.LIST 连续显示表结构连续显示表结构; DISPLAY 分屏显示表结分屏显示表结构。构。显示表结构显示表结构162.使用使用“表设计器表设计器”查看表的结构查看表的结构(1) 选择【文件】菜单的【打开】命令,并选选择【文件】菜单的【打开】命令,并选择想要查看择想要查看的表的表STUDENT.DBF;(2) 单击【显示】菜单的单击【显示】菜单的“表设计器表设计器”命令命令,系系统将显示表的结构。统
21、将显示表的结构。 171. 表的打开表的打开 一、命令方式一、命令方式格式:格式:USE IN ALIAS AGAIN IN 功能功能 : 在指定工作区中打开一个指定的表文件,在指定工作区中打开一个指定的表文件,并将并将记录指针定位于表中的第记录指针定位于表中的第1号记录。号记录。表的打开与关闭表的打开与关闭18当前工作区当前工作区 VFPVFP把正在使用的工作区称为当前把正在使用的工作区称为当前工作区。工作区。 用函数用函数 SELECT( )SELECT( )测试当前工作区测试当前工作区号。号。 用用ALIAS( )ALIAS( )函数测试当前工作区中函数测试当前工作区中表的别名。表的别名
22、。 状态栏中可显示当前工作区中表的状态栏中可显示当前工作区中表的别名。别名。内存1 xs2 teacher33276719选用工作区选用工作区 在在“数据工作期数据工作期”窗口中设置。窗口中设置。 使用命令:使用命令:SELECT SELECT 工作区号工作区号| |别名别名 SELECT 0SELECT 0:选择未使用最小编号的工作区:选择未使用最小编号的工作区 在在VFPVFP中最多可以同时使用中最多可以同时使用3276732767个工作区个工作区。工作区可以用数字来表示,工作区可以用数字来表示,1 1代表第一个工作区,代表第一个工作区,2 2代表第二个工作区,代表第二个工作区,;或者用系
23、统给定的别名或者用系统给定的别名表示,表示,前十个工作区的别名是字母前十个工作区的别名是字母A A到到J J,从,从1111号工号工作区开始,别名为作区开始,别名为 W11 W11 到到 W32767W32767。20例例: (1) 分别在分别在1、3工作区同时打开表工作区同时打开表student.dbf;(2)选择未使用的最小工作区选择未使用的最小工作区 2 打开表打开表 SCORE.DBF 命令如下命令如下: USE STUDENT IN A USE STUDENT AGAIN IN C USE SCORE IN 0注意:用可视化方式,必须选中注意:用可视化方式,必须选中“独占独占”方式方
24、式21例:在不同工作区打开同一例:在不同工作区打开同一个表个表(在(在“数据工作期数据工作期”中观察)中观察)USE STUDENT IN AUSE STDDENT ALIAS SSS AGAIN IN BUSE SCORE IN CUSE SCORE AGAIN IN 0 问题问题:(1)第第2个命令个命令 执行完后,执行完后,student.dbf 的别名是什么的别名是什么?(2) 第第4个命令个命令 执行完后,执行完后,score.dbf 是在哪个工作区中被是在哪个工作区中被打开打开?22二、可视化方式二、可视化方式1.单击【文件】菜单的【打开】命令单击【文件】菜单的【打开】命令,在在“
25、打开打开”对 话 框 的对 话 框 的 “ 文 件 类 型文 件 类 型 ” 框 中 选 择框 中 选 择 “ 表表(*.DBF)”; ;2.在查找范围框中选择驱动器和文件夹在查找范围框中选择驱动器和文件夹,再选中再选中“独占独占”复选框复选框;3.用鼠标左键双击需要打开文件的文件名。用鼠标左键双击需要打开文件的文件名。23表的关闭表的关闭表的关闭表的关闭数据工作期窗口中关闭数据工作期窗口中关闭关闭指定工作区中的表:关闭指定工作区中的表: USE IN USE IN 工作区号工作区号 | |别名别名 关闭所有工作区中的表和与其相关的文件:关闭所有工作区中的表和与其相关的文件: CLOSE AL
26、LCLOSE ALL QUITQUIT & &关闭所有工作区中的表和与其相关的关闭所有工作区中的表和与其相关的 文件文件, ,并退出并退出VFPVFP窗口窗口. .24例:在例:在“数据工作期数据工作期”窗口中观察表的打开与关闭。窗口中观察表的打开与关闭。SELECT 1USE STUDENT USE STUDENT AGAIN IN 2 ALIAS ABCUSE SCORE IN 3USE & 关闭哪个工作区中的表关闭哪个工作区中的表?USE IN C USE IN ABC 25记录的定位记录的定位 记录的指针记录的指针 系统在打开一个表文件后将自动生成三个控制标志:
27、系统在打开一个表文件后将自动生成三个控制标志:记录开始标志记录开始标志、记录指针标志记录指针标志、记录结束标志记录结束标志。文件头(含表结构等信息)第1号记录第2号记录第n号记录文件尾记录开始标志记录指针记录结束标志Begin Of File BOF( ) End Of File EOF( ) 26记录指针记录指针 记录指针是记录指针是VFPVFP系统内部的一个指示器,在表中指向系统内部的一个指示器,在表中指向记录。记录。每当打开一个表文件时,指针总是指向第一条每当打开一个表文件时,指针总是指向第一条记录。记录。 记录指针指向的记录叫记录指针指向的记录叫当前记录当前记录,改变指针的指向叫,改变
28、指针的指向叫记录的定位。记录的定位。 测试当前记录用函数测试当前记录用函数RECNORECNO()。最小值为()。最小值为1 1,最大值,最大值为为RECCOUNTRECCOUNT()()+1+1。 打开表时记录指针情况:打开表时记录指针情况:表中无记录:表中无记录:BOF()=.T. EOF()=.T. RECNO()=1BOF()=.T. EOF()=.T. RECNO()=1表中有记录表中有记录:BOF()=.F. EOF()=.F. RECNO()=1 BOF()=.F. EOF()=.F. RECNO()=1 27格式:格式:RECNO( | )功能:确定表中当前记录的编号。功能:确
29、定表中当前记录的编号。返回值类型:数值型返回值类型:数值型说明:说明:: 指定被测试工作区号,其范围指定被测试工作区号,其范围132767。 : 指定表别名指定表别名 RECNO()函数函数28 RECCOUNT()函数函数格式:格式:RECCOUNT( | )功能:确定表中记录的个数。功能:确定表中记录的个数。返回值类型:数值型返回值类型:数值型说明:说明:: 指定被测试工作区号,其范围指定被测试工作区号,其范围132767。 : 指定表别名指定表别名29 BOF( )函数函数格式格式:BOF (|)返回值类型返回值类型: 逻辑型逻辑型功能功能:判断表的记录指针是否在表的开始标志。如果是则返
30、回判断表的记录指针是否在表的开始标志。如果是则返回“真真”值值(.T.),否则返回假值,否则返回假值(.F.) 。EOF( )函数函数格式格式:EOF( | )返回值类型返回值类型: 逻辑型逻辑型功能功能:判断表的记录指针是否在表的结束标志。如果是则返回判断表的记录指针是否在表的结束标志。如果是则返回“真真”值值(.T.),否则返回假值,否则返回假值(.F.) 。30格式格式1: GO | GOTO nRecordNumber IN nWorkArea 功能:将表的记录指针移动到指定位置。该命令允许省功能:将表的记录指针移动到指定位置。该命令允许省略略GO 或或 GOTO 命令关键字。命令关键
31、字。 nRecordNumber:物理记录号:物理记录号 IN nWorkArea :指定移动指针操作表所在的工作区。指定移动指针操作表所在的工作区。说明:定位结果不受任何因素影响。说明:定位结果不受任何因素影响。绝对定位命令绝对定位命令 GO 命令命令31格式格式2: GO TOP | BOTTOM 功能:将表的记录指针移动到功能:将表的记录指针移动到首记录首记录 或或末记录末记录说明:定位结果说明:定位结果受受下列因素下列因素(1)的联合影响,)的联合影响,但但不受因素(不受因素(2)的影响。的影响。(1) 索引:仅当无索引或索引不起作用时,首记录就是第索引:仅当无索引或索引不起作用时,首
32、记录就是第1号记号记录,而末记录为记录号最大的哪一条记录;录,而末记录为记录号最大的哪一条记录;(2)命令命令 SET DELETE ON | OFF:这是一条删除标记开关命令,当这是一条删除标记开关命令,当ON时,有删除标记的记录不时,有删除标记的记录不参与操作;当参与操作;当OFF时,有删除标记的记录仍参与操作。时,有删除标记的记录仍参与操作。绝对定位命令绝对定位命令 GO 命令命令32例例:根据下列命令根据下列命令,写出操作结果写出操作结果:SET DELETE OFF USE STUDENT?recno(),eof(),bof(),RECCOUNT() GO 1 & 或者或者
33、GO TOP (表中没有建立索引表中没有建立索引)?recno() ,eof(),bof() GO BOTTOM?recno() ,eof(),bof()Index on 姓名姓名 TO XMGO TOP & 记录指针指向表中首记录记录指针指向表中首记录,但不一定是但不一定是1号记录号记录?recno() GO BOTTOM?recno() & 记录指针指向表中末记录记录指针指向表中末记录,但不一定是记录号最大的记录但不一定是记录号最大的记录33相对定位命令相对定位命令 SKIP格式:格式:SKIP nRecords IN nWorkArea 功能:以当前记录为基准,在指定表中
34、向上或向下移功能:以当前记录为基准,在指定表中向上或向下移动记录指针(位移量由动记录指针(位移量由 nRecords 决定)。决定)。说明:说明: 当当 nRecords 缺省时,默认位移量为缺省时,默认位移量为1,即,即 SKIP 等价于等价于 SKIP 1。 若记录指针若记录指针已在末记录已在末记录,再,再SKIP,则函数,则函数RECNO( ) 的的返回值是表中总记录数加返回值是表中总记录数加1的,且的,且EOF( )返回返回“真真”值。值。 若记录指针若记录指针已在首记录已在首记录,再,再SKIP -1 ,则,则RECNO( ) 的的返回值仍为返回值仍为1, 但但BOF( )返回返回“
35、真真”值。值。34BOF( )及及EOF( )函数示例函数示例设设STUDENT 表中有表中有10条记录条记录在命令窗口输出在命令窗口输出在状态行上显示在状态行上显示BOF( )EOF( )当前记录号当前记录号Use student 记录记录: 1 / 10 .F. .F.1GO BOTTOM记录记录: 10 / 10 .F. .F.10SKIP 记录记录: EOF / 10.F.T.11GO TOP记录记录: 1 / 10 .F. .F.1SKIP -1记录记录: 1 / 10.T.F.135记录定位记录定位可视方式可视方式(先打开表(先打开表,显示数据窗口)显示数据窗口) 鼠标直接定位:鼠
36、标所点的记录鼠标直接定位:鼠标所点的记录 菜单操作定位:选择菜单操作定位:选择VFP主菜单的主菜单的表表菜单中的菜单中的“转到记录转到记录”子菜单下命令提供了六种方式:子菜单下命令提供了六种方式:第一个:第一个: 相当于相当于 GO TOP 命令命令最后一个:相当于最后一个:相当于 GO BOTTOM 命令命令下一个:下一个: 相当于相当于 SKIP 1 命令命令上一个:上一个: 相当于相当于 SKIP -1 命令命令记录号:记录号: 相当于相当于 GO nRecordNumber 命令命令定位:定位: 相当于相当于 LOCATE FOR 命令命令36表的浏览表的浏览数据窗口(本书叫表浏览器)
37、的功能:数据窗口(本书叫表浏览器)的功能: 显示记录显示记录:记录过滤器、字段选择器、窗口分区:记录过滤器、字段选择器、窗口分区 修改记录修改记录: “表表”菜单中菜单中 “字段替换字段替换”命令命令 追加与批量追加记录追加与批量追加记录: “表表”菜单的菜单的“追加记录追加记录”命令命令 逻辑删除与恢复记录逻辑删除与恢复记录: “表表”菜单的菜单的“删除删除”和和“恢复恢复”记录过滤器:记录过滤器:“表表”菜单中菜单中“属性属性”命令命令/“数据数据过滤过滤器器”字段选择器:字段选择器: “表表”菜单中菜单中“属性属性”命令命令/“字段筛选字段筛选”窗口的显示模式:窗口的显示模式:“显示显示
38、”菜单中的菜单中的“浏览浏览”、“编编辑辑”命令命令37删除标记列(由删除标记块组成)记录选择列(由记录选择块组成)拆分条列分隔线行分隔线字段标签当前记录指示器数据窗口的组成38表的浏览表的浏览 BROWSEBROWSE命令命令格式:格式:BROWSE FIELDS FieldListBROWSE FIELDS FieldList FOR Expression FOR Expression FONT cFontName ,nFontSize FONT cFontName ,nFontSize 功能:打开浏览窗口,显示当前表的记录。功能:打开浏览窗口,显示当前表的记录。说明:说明:1.Field
39、s FieldList1.Fields FieldList:为用逗号:为用逗号(,)(,)分隔的字段分隔的字段名列表名列表, ,用于指定在浏览窗口中显示的字段。用于指定在浏览窗口中显示的字段。忽略该子句忽略该子句, ,则在浏览器窗口显示全部字段。则在浏览器窗口显示全部字段。39表的浏览表的浏览说明说明: :2.2.FONT cFontName ,nFontSizeFONT cFontName ,nFontSize:指定浏览窗口的字指定浏览窗口的字体及字体大小。如果在体及字体大小。如果在FONTFONT子句中省略了字体大小,子句中省略了字体大小,则浏览窗口默认采用则浏览窗口默认采用1010磅字体
40、,如果省略磅字体,如果省略FONTFONT子句,子句,则默认采用则默认采用8 8磅字体。磅字体。3. 3. FOR Expression 表示只对逻辑表达式取真值的记表示只对逻辑表达式取真值的记录进行规定操作。录进行规定操作。40表的浏览表的浏览例如例如, ,在浏览窗口用在浏览窗口用“宋体宋体”1313号字,显示号字,显示studentstudent表表中所有男同学的信息。命令如下中所有男同学的信息。命令如下: :useusestudentstudentBROWSE FOR BROWSE FOR 性别性别=男男 FONT “FONT “宋体宋体”,13,13再如再如, ,在浏览窗口在浏览窗口9
41、898级女学生的信息。级女学生的信息。( (设学号字段是设学号字段是数值型数值型) )命令如下命令如下: :BROWSE FOR BROWSE FOR 性别性别=女女 AND substr(strAND substr(str( (学学号号,7),1,2)=“98”,7),1,2)=“98”41(1) (1) 数值转换成字符串数值转换成字符串格式:格式:STR(STR( , , ) )功能:将数值表达式的值转换成字符串。转换时根据需功能:将数值表达式的值转换成字符串。转换时根据需要自动进行四舍五入。要自动进行四舍五入。返回字符串的理想长度返回字符串的理想长度L L = =数值表达式值的数值表达式
42、值的整数位数整数位数+ +小数位数小数位数+1+1位小数点位小数点。 如果如果 的值大于的值大于L L,则字符串加前导空格以,则字符串加前导空格以满足规定的满足规定的 要求;要求;数据类型转换函数数据类型转换函数42 如果如果 的值大于等于的值大于等于 值的整值的整数部分位数(包括负号),但又小于数部分位数(包括负号),但又小于L L,则优先满足,则优先满足整数部分而自动调整小数位数;整数部分而自动调整小数位数; 如果如果 的值和的值和 都缺省,则只输出都缺省,则只输出整数部分。整数部分。 如果如果 的值小于的值小于 值的整数部分值的整数部分位数(包括负号),输出结果为位数(包括负号),输出结
43、果为“* *”,(表示溢出),(表示溢出)数据类型转换函数数据类型转换函数43(1) 数值转换成字符串数值转换成字符串 例:例:N= -321.4456 ?str(n) , str(n,5) -321 -321 (前面有前面有1个空格个空格) ?str(n,3), STR(n,6,1) * -321.4 ? str(n,6,2), str(n,9,2) -321.5 -321.45 (前面有前面有2个空格个空格)441.命令方式命令方式 LIST | DISPLAY Scpe FIELDS FieldsList FOR Expression1 WHILE Expression2 OFF TO
44、PRINT TO FILE FileName 功能:在主窗口中显示当前表的有关信息。功能:在主窗口中显示当前表的有关信息。 List 默认范围是所有记录,默认范围是所有记录, Display 默认范围是当前记录。默认范围是当前记录。显示记录命令显示记录命令45说明:说明:Scope 指明执行命令时的作用范围。指明执行命令时的作用范围。RECORD n 表中第表中第N条记录。条记录。NEXT n 从表中当前记录起,向下共从表中当前记录起,向下共n个记录。个记录。REST 从表中当前记录起到末记录止。从表中当前记录起到末记录止。 ALL 表中全部记录。表中全部记录。 TO PRINTER 将结果同
45、时输出到屏幕和打印机。将结果同时输出到屏幕和打印机。 TO FILE FileName 将记录输出到指定的文本文件中,将记录输出到指定的文本文件中, 默认扩展名默认扩展名是是.txt。 OFF 在主窗口显示记录时不显示记录号。在主窗口显示记录时不显示记录号。46 FOR Expression 表示只对逻辑表达式取表示只对逻辑表达式取真值的记录进行规定操作。真值的记录进行规定操作。 WHILE Expression表示,表示, 如默认范围子如默认范围子句,则从当前记录开始测试是否满足逻辑表达句,则从当前记录开始测试是否满足逻辑表达式条件,如满足便对该记录进行规定操作。接式条件,如满足便对该记录进
46、行规定操作。接着对下一条记录进行测试,如仍满足就再进行着对下一条记录进行测试,如仍满足就再进行规定操作,否则停止操作,不管其后是否还有规定操作,否则停止操作,不管其后是否还有满足条件的记录。满足条件的记录。47例:写出下列命令执行后的结果。例:写出下列命令执行后的结果。USE STUDENT ?RECNO( ) &显示当前记录显示当前记录号号DISPLAY &显示当前记录显示当前记录LIST OFF &显示表中全部记录显示表中全部记录,不显示记录不显示记录号号?EOF( ) &显示显示EOF() 函数状态函数状态GO 5 &将记录指针指向将记录指针指向5
47、号记录号记录LIST NEXT 1 &显示当前记录显示当前记录 = DISPLAYLIST NEXT 4 &显示显示58号记录号记录?RECNO( ) &显示当前记录号显示当前记录号LIST REST &显示从当前记录到最后一个记录显示从当前记录到最后一个记录48格式格式: LEFT(: LEFT(,) RIGHT( RIGHT(,) SUBSTR( SUBSTR(,)返回值类型:字符型返回值类型:字符型功能:功能:LEFT( )LEFT( )从字符表达式值的左端取指定长度的子从字符表达式值的左端取指定长度的子串作为返回值。串作为返回值。 RIGHT( )RIG
48、HT( )从字符表达式值的右端取指定长度的子从字符表达式值的右端取指定长度的子串作为返回值。串作为返回值。 SUBSTR( )SUBSTR( )从字符表达式值的指定起始位置取指从字符表达式值的指定起始位置取指定长度的子串作为返回值。定长度的子串作为返回值。字符串函数字符串函数49(1)(1)系统日期和时间函数系统日期和时间函数格式:格式:DATE( )DATE( ) TIME( ) TIME( )功能:返回系统的当前系统日期、时间。功能:返回系统的当前系统日期、时间。 DATE( )DATE( )函函数返回值类型为日期型;数返回值类型为日期型; TIME( )TIME( )函数返回值类型函数返
49、回值类型为字符型。为字符型。函数返回格式可以通过函数返回格式可以通过SET CENTURYSET CENTURY,SET DATESET DATE和和SET SET MARK TOMARK TO命令来改变。命令来改变。SET CENTURY OFFSET CENTURY OFF? DATE( )DATE( )02/21/01 02/21/01 显示不带世纪的当天日期显示不带世纪的当天日期SET CENTURY ONSET CENTURY ON? DATE( ) DATE( ) 显示带世纪的当天日期显示带世纪的当天日期 日期和时间函数日期和时间函数50格式:格式:YEAR() MONTH( DA
50、Y()功能:分别返回与指定日期对应的年、月、日值。功能:分别返回与指定日期对应的年、月、日值。返回值类型:数值型返回值类型:数值型X=date()?year(x),month(x),day(x) 2001 2 21 问题:问题:year(x),month(x) ,day(x)函数的返回值是什么类函数的返回值是什么类型?型? 求年份、月份和天数求年份、月份和天数返回51字符串转换成日期或日期时间字符串转换成日期或日期时间格式:格式:CTOD(字符表达式字符表达式)功能:将字符表达式的值转换成日期型数据功能:将字符表达式的值转换成日期型数据返回值类型:日期型。返回值类型:日期型。X=ctod(“1
51、2/09/92”)?X,type(x)12/09/92 D数据类型转换函数数据类型转换函数52格式:格式:DTOC(,1)功能:将一个日期表达式中的日期转换成字符功能:将一个日期表达式中的日期转换成字符型日期。型日期。返回值类型:字符型返回值类型:字符型 A=2001-09-06?dtoc(a),TYPE(A)09/06/01 C日期或日期时间转换成字符串日期或日期时间转换成字符串数据类型转换函数数据类型转换函数53例:根据不同要求例:根据不同要求,写出操作命令写出操作命令:显示显示STUDENT表中姓表中姓“王王”的的记录的的记录USE STUDENTLIST FOR LEFT(姓名姓名,2
52、)=“王王”或者或者LIST FOR 姓名姓名=“王王” &系统为系统为 SET EXACT OFF显示所有姓名中第显示所有姓名中第2个字是个字是“志志”的记录的记录LIST FOR SUBS(姓名姓名,3,2)=“志志”显示籍贯是显示籍贯是“河北河北”,“湖北湖北”和和“北京北京”的记录的记录LIST FOR “北北”$籍贯籍贯54显示所有年龄大于显示所有年龄大于22岁的记录岁的记录LIST FOR YEAR(DATE()-YEAR(出生年月出生年月)22显示所有显示所有80年以前出生的记录年以前出生的记录DISP FOR YEAR(出生年月出生年月)1980显示显示81年年5月月2
53、日出生的记录日出生的记录DISP FOR 出生年月出生年月=1981-05-02或者或者:DISP FOR DTOC(出生年月出生年月)=“05/02/81”55命令格式:命令格式: REPLACE Scope , FieldName2 WITH eExpression2 , FOR Expression1 WHILE Expression2功能:用表达式的值自动替换指定字段中的值,功能:用表达式的值自动替换指定字段中的值,若没有若没有范围和条件选项时只对当前记录操作。范围和条件选项时只对当前记录操作。注意:注意:with 两边的数据类型必须一致;多工作区时,字两边的数据类型必须一致;多工作区
54、时,字段名允许是另一工作区已打开的库文件的字段名。段名允许是另一工作区已打开的库文件的字段名。 数据更新命令数据更新命令 (替换字段值替换字段值)56命令格式:命令格式: UPDATE 表名表名 SET 字段名字段名1=表达式表达式1 ,字段名,字段名2=表达式表达式2 WHERE 条件条件 功能:用表达式的值自动替换指定字段中的值,功能:用表达式的值自动替换指定字段中的值,若没有若没有WHERE 条件选项时,则更新全部记录条件选项时,则更新全部记录的字段值。否则,更新满足条件记录的字段值。的字段值。否则,更新满足条件记录的字段值。注意:注意:= 两边的数据类型必须一致。两边的数据类型必须一致
55、。 SQL的数据更新命令的数据更新命令57UPDATE STUDENT ; SET 备注备注= “2003年被评为三好学生年被评为三好学生” ; WHERE 姓名姓名=王志刚王志刚例:在例:在SCORE.DBF中增加一个年龄字段中增加一个年龄字段,将每个记将每个记录的年龄值填入字段中。录的年龄值填入字段中。ALTER TABLE SCORE ADD 年龄年龄 N(3) REPLACE ALL 年龄年龄 WITH year(date( )-year(出生年月出生年月)例:例:1. 用用SQL命令将王志刚同学的备注字段中填入命令将王志刚同学的备注字段中填入“2003年被评为三好学生年被评为三好学生
56、”。 2. 显示填入备注字段的内容显示填入备注字段的内容.LIST FIELD 备注备注 FOR 姓名姓名=王志刚王志刚58USE STUDENTCOPY TO STU &复制一个新表复制一个新表USE STU REPLACE 学号学号 WITH left(学号学号,2) + “A” ;+ right(学号学号,4) FOR subs(学号学号,3,1) = “1”REPLACE 学号学号 WITH left(学号学号,2) + “B” ;+ right(学号学号,4) FOR substr(学号学号,3,1) = “2”例:使用命令将学号第例:使用命令将学号第3个字符是个字符是“1”
57、的替换为的替换为“A”,第第3个字符是个字符是“2”的替换为的替换为“B”,并显示替换后的内容,并显示替换后的内容。(学号字段的类型必须是学号字段的类型必须是“字符型字符型”)例如例如: 9811052 - 98A1052 9921036 - 99B1036591. 编辑记录编辑记录格式:格式: EDIT Scope Fields FieldList FOR / WHILE Expression CHANGE Scope Fields FieldList FOR / WHILE Expression 功能:用手工方式编辑、修改指定的字段值。功能:用手工方式编辑、修改指定的字段值。 说明:说明:
58、EDIT和和CHANGE命令功能相同。命令功能相同。两命令默认两命令默认的范围是的范围是 ALL 。 记录的编辑、修改记录的编辑、修改60例:用例:用 EDIT 命令手工修改命令手工修改student表中第表中第5个记个记录录“学制学制”字段的内容。字段的内容。(“学制学制”字段值改为字段值改为“七七”)Use studentEdit field 学制学制 FOR recno( )=5例:用例:用 CHANG 命令手工编辑命令手工编辑student表中临床医表中临床医学专业记录学专业记录“备注备注”字段的内容。字段的内容。(内容自定内容自定)Change for 专业专业=“临床医学临床医学”
59、 fields 备注备注 *用手工方式填入用手工方式填入“七七”*依次分别双击依次分别双击memo用手工方式填入内容用手工方式填入内容61记录的插入记录的插入命令格式命令格式: INSERT BEFORE BLANK 说明:说明: 若选择若选择BEFORE,则在当前记录之前插入一条记,则在当前记录之前插入一条记录;否则,在当前记录之后插入一条记录;录;否则,在当前记录之后插入一条记录; 若选择若选择BLANK,则仅插入一条空白记录;否则,则仅插入一条空白记录;否则,立即进入数据窗口编辑该空白记录;立即进入数据窗口编辑该空白记录;注意:注意: 若表存在若表存在结构化复合索引结构化复合索引或者有已
60、打开的单索引,则或者有已打开的单索引,则 INSERT 命令将失去插入效果,其执行的结果等同于命令将失去插入效果,其执行的结果等同于 APPEND 命令命令62 记录的删除记录的删除 删除记录时为了安全,删除记录时为了安全,VFP要经过两个步骤完成:首要经过两个步骤完成:首先给记录作删除标记先给记录作删除标记(称称逻辑删除逻辑删除),然后把所有做了删,然后把所有做了删除标记的记录从数据表文件中清除掉除标记的记录从数据表文件中清除掉(称称物理删除物理删除)。 凡是被逻辑删除的记录,均可恢复成正常记录。凡是被逻辑删除的记录,均可恢复成正常记录。 记录的第一个字节专门用来保存记录的删除标记。记录的第一个字节专门用来保存记录的删除标记。 当当 SET DELETE ON 命令执行后,被逻辑删除的记录,命令执行后,被逻辑删除的记录,将不再
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电厂实操考试题库及答案
- 2025年康复医学治疗技术(副高级职称)试卷【含答案详解】
- 2025年电焊工证-上岗证考试试题考试题库(带答案)
- 2025年广东省清远市国家公务员行政职业能力测验模拟题(附答案)
- 2024-2025学年机械设备制造修理人员考前冲刺试卷含答案详解(满分必刷)
- 关于房屋出售合同
- 自考专业(工商企业管理)高分题库附参考答案详解(突破训练)
- 2025自考专业(计算机信息管理)通关题库及完整答案详解(典优)
- 米易安全员b证考试及答案
- 襄城科三安全员考及答案
- 6.2 人大代表为人民 第二课时 课件 2025-2026学年六年级道德与法治 上册 统编版
- 2025年甘肃省金川集团股份有限公司技能操作人员社会招聘400人考试参考试题及答案解析
- 4.2 遵守规则 课件 2025-2026学年 统编版道德与法治八年级上册
- T/CIE 189-2023硫化物全固态锂电池
- 2025年北京市单位劳动合同样本
- 借游戏账号合同5篇
- 广播稿的写法课件
- 2025年中职政治专业资格证面试技巧与答案解析大全
- 保密法课件教学课件
- 十八项核心医疗制度试题(附答案)
- 计生政策培训课件
评论
0/150
提交评论