数据库软件Visual-Foxpro课件第四章-表的操作_第1页
数据库软件Visual-Foxpro课件第四章-表的操作_第2页
数据库软件Visual-Foxpro课件第四章-表的操作_第3页
数据库软件Visual-Foxpro课件第四章-表的操作_第4页
数据库软件Visual-Foxpro课件第四章-表的操作_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章表操作4.1表操作数据表由结构和数据组成表4-1学生情况表记录字段2021/8/51第四章表操作数据表由结构和数据组成表4-11.数据表的结构

所谓建立表结构就是定义各个字段的属性,基本的字段属性可包括字段名、字段类型、字段宽度和小数位数等。字段名:用来标识字段,它是以一个字母或汉字开头,长度不超过10的字母、汉字、数字、下划线序列例:下列字段名写法正确的是Student_id_xingming学号1姓名*

类型与宽度:字段类型、宽度及小数位数等属性用来描述字段值。类型指字段值数据类型;宽度规定了字段存储的最大字节数2021/8/521.数据表的结构2021/8/52字段类型代号说明字段宽度示例字符型C存放一串字符或汉字最多254字符学生的学号、姓名数值型N存放一个整数或实数最多20个字节学生成绩日期型D存放一个日期8个字节出生日期逻辑型L存放逻辑值T或F1个字节是否党团员备注型M存放不定长字符或汉字4个字节学生简历说明通用型G存放声音、图像等4个字节学生照片表4-2字段类型与宽度注:日期型宽度为8,逻辑型宽度为1,备注型和通用型字段宽度都为4,它们的宽度是固定不变的小数位数:只有数值型与浮点型字段才有小数位数2021/8/53字段类型代号说明字段宽度示例字符型C存放一串字符或汉字最建立表的结构菜单方式命令方式:create<新表文件名>注:以上两种方式都使用了表设计器设置默认目录命令:setdefaultto路径createtable<表名>(<字段名1><字段类型>[(<字段宽度>[,<小数位数>])][,<字段名2>…])功能:建立一个由<表名>表示的表,表中含有指定的字段例:createtablestud(学号c(8),姓名c(8),性别c(2),出生日期d,;专业号c(2),入校总分n(6,2),团员l,简历m,照片g)表数据的输入4.2表的打开和关闭打开表菜单方式命令方式:use[路径]<表文件名>2021/8/54建立表的结构2021/8/54表的浏览与表数据的添加关闭表命令1:use功能:关闭当前工作区已打开的表文件命令2:closetables[all]功能:关闭所有的表文件命令3:closeall功能:关闭所有工作区中所有各类型文件,包括表文件4.3表结构的修改利用表设计器修改表菜单方式命令方式:modifystructure利用表向导修改表结构2021/8/55表的浏览与表数据的添加2021/8/554.4表的记录定位和显示记录的定位记录指针的绝对定位命令:go|goto<数值表达式>|top|bottom例:usestud?recno()go4?recno()gobottom?recno()gotop?recno()记录指针的相对定位2021/8/564.4表的记录定位和显示2021/8/56skip[<数值表达式>]功能:从当前记录开始移动记录指针,<数值表达式>表示移动记录的个数例:usestud?recno(),bof()skip-1?recno(),bof()&&记录号仍然为1skip8?recno(),bof()skip?recno(),eof()skip?recno(),eof()&&记录号为11注意:数值表达式若为负值表示向文件头移位,若缺省默认为12021/8/57skip[<数值表达式>]20记录的显示list命令命令格式:list|display[[fields]<表达式表>][<范围>][for<条件>][while<条件>][off]功能:在表中按指定范围与条件筛选出记录并显示出来说明:范围子句:4种限定方法all所有记录next<n>从当前记录起的n个记录record<n>第n个记录rest从当前记录起到最后一个记录止的所有记录注:缺省范围子句默认为all;而display命令默认为当前记录for子句:其中<条件>为逻辑表达式,表示筛选出符合条件的记录例:usestudgo2listnext5for入校总分>=5752021/8/58记录的显示2021/8/58while子句:也用于指明筛选条件,从当前符合条件的记录开始筛选,遇到不满足条件的记录时就结束例:usestudgo5listnext5while入校总分>=520fields子句:确定要进行操作的字段。保留字fields可以省略,表达式表列出需要操作的字段;若fields子句省略,则显示除备注型、通用型字段外的所有字段例:usestudlistlistrecord6fields学号,姓名,入校总分off:不显示记录号例:要求:1)显示第3个到第5个之间男生记录2)列出入校总分高于520的非团员或者在1985.6.30以后出生的团员,只列出学号,姓名,入校总分,团员2021/8/59while子句:也用于指明筛选条件,从当前符合条件的记录开2关系运算选择:从关系中找出满足条件的记录投影:从关系中选取若干属性(字段)组成新的关系联接:是对两个关系通过共同的属性名(字段名)进行投影操作来联接生成一个新的关系2021/8/510关系运算2021/8/510浏览窗口显示记录命令:browse[fields<字段名表>][for<条件>]功能:打开浏览窗口,显示、浏览和修改记录数据例:usestudbrowfields学号,姓名,入校总分,团员for团员命令和子句的书写规则各子句的次序允许任意排列,命令与子句、子句与子句以及子句内部用空格分隔如:listnext5for入校总分>=575命令动词与各子句中的保留字可简写为前4个字符若一行写不下,可在其后键入续行符“;”[]表示可选,|表示任选其一,<>表示必须由用户定义,书写命令时不能写出来2021/8/511浏览窗口显示记录2021/8/5114.5表结构和数据的复制复制任何类型的文件copyfile<文件名1>to<文件名2>功能:从文件名1复制得文件名2例:usecopyfilestud.dbftod:\vf\ss.dbfcopyfilestud.fpttod:\vf\ss.fpt注意:1)复制时该表处于关闭状态2)文件名必须完整,可跟上相应路径,可使用通配符复制表文件copyto<文件名>[fields<字段名表>][<范围>][for<条件>][while<条件>][[type][xls|sdf]]功能:将当前打开的表中选定的部分记录和部分字段复制成一个新表或其他类型文件2021/8/5124.5表结构和数据的复制2021/8/512例:usestudcopytoxs&&若有fpt文件,则也会复制copytoxueshengfields学号,姓名,性别for团员=.t.usexueshenglistcopytoshmdalltypesdf&&将xuesheng.dbf复制成文本文件typeshmd.txt复制表结构copystructureto<文件名>[fields<字段名表>]功能:仅复制当前表的结构,不复制其中的数据例:usestudcopystructuretoxshfields学号,姓名,性别,出生日期usexshliststructure

2021/8/513例:usestud2021/8/5134.6表数据的修改记录的插入和追加插入新记录insert[blank][before]功能:在当前打开表文件中的当前记录指针位置处插入新记录注:1)使用before子句能在当前记录之前插入新记录,缺省该子句则在当前记录之后插入新记录2)使用blank子句立即插入一条空白记录,缺省该子句则出现记录编辑窗口,等待用户输入数据例:usestudlistgo7insertbeforeblanklist2021/8/5144.6表数据的修改2021/8/514记录的追加append命令:在表尾追加记录append[blank]注:1)使用blank子句能在表尾追加一条空白记录2)缺省blank子句会出现记录编辑窗口,等待用户输入数据insert-SQL命令insertinto表名[(字段名1[,字段名2,…])]values(表达式1[,表达式2…])功能:在表尾追加一个新记录,并将数据存入记录中如:insertintostud(学号,姓名,性别,出生日期,专业号,入校总分,团;员)values('s0401111','唐日新','女',{^1985/09/11},'02',555,.t.)说明:1)表可以不事先打开,字段与表达式的类型要相同2)若字段名全部缺省,就必须按表结构字段顺序填写values子句的所有表达式

2021/8/515记录的追加2021/8/515appendfrom命令:在当前表末尾追加一批来自于另一文件的记录appendfrom<文件名>[fields<字段名>][for<条件>]例:将表stud.dbf中所有男同学记录追加到xuesheng.dbf的表尾

usexueshengappendfromstud.dbffor性别=‘男’记录的删除和恢复其中表记录的删除要分两步进行。第一步:在要删除的记录上加删除标记;第二步:用pack命令将带有删除标记的记录从表中真正删除记录逻辑删除命令(第一步)命令格式:delete[<范围>][for<条件>][while<条件>]功能:对当前表在指定<范围>内满足<条件>的记录加上删除标记。若可选项都省略,只在当前记录加标记2021/8/516appendfrom命令:在当前表末尾追加一批来自于另一文例:使用函数delete()可以判断记录是否被逻辑删除usestuddelefor入校总分<520listgo4?delete()go7?delete()记录物理删除命令(第二步)命令格式:pack功能:从物理上删除带有删除标记的记录例:删除第6条记录deleterecord6pack2021/8/517例:使用函数delete()可以判断记录记录的恢复命令命令格式:recall[<范围>][for<条件>][while<条件>]功能:对当前表在指定<范围>内满足<条件>的记录去掉删除标记。若可选项都省略,只恢复当前记录例:usestuddeletefor入校总分<520and!团员listrecallalllist记录清除命令命令格式:zap功能:从物理上删除当前表中的所有记录zapdeleteallpack2021/8/518记录的恢复命令记录清除命令2021/8/518记录的修改页式编辑修改命令:edit[<范围>][<字段名表>][for<条件>][while<条件>]功能:对指定范围内,符合<条件>的记录的指定字段进行编辑修改

编辑修改命令:change[<范围>][<字段名表>][for<条件>][while<条件>]功能:该命令用法同edit成批记录数据修改命令格式:replace<字段名1>with<表达式1>[additive][,<字段名2>with<表达式2>[additive]]…[<范围>][for<条件>][while<条件>]2021/8/519记录的修改2021/8/519功能:在当前表的指定<范围>内满足<条件>的记录中,将有关字段的值用相应的表达式值来替换。若可选项省略,只对当前记录的有关字段进行替换例:将专业名称表“zymc.dbf”的某些记录作修改usezymcreplace专业名称with‘制药工程’replaceallforlen(trim(专业名称))=6专业名称with;substr(专业名称,1,2)+space(2)+substr(专业名称,3,4)

注:additive用于备注型字段,将表达式值添加到字段的原有内容之后,而不是取代;若省略,则完全替代例:usestudgo3repl简历with‘足球’repl简历with‘——英式’additiverepl简历with‘篮球’2021/8/520功能:在当前表的指定<范围>内满足<条件第四章表操作4.1表操作数据表由结构和数据组成表4-1学生情况表记录字段2021/8/521第四章表操作数据表由结构和数据组成表4-11.数据表的结构

所谓建立表结构就是定义各个字段的属性,基本的字段属性可包括字段名、字段类型、字段宽度和小数位数等。字段名:用来标识字段,它是以一个字母或汉字开头,长度不超过10的字母、汉字、数字、下划线序列例:下列字段名写法正确的是Student_id_xingming学号1姓名*

类型与宽度:字段类型、宽度及小数位数等属性用来描述字段值。类型指字段值数据类型;宽度规定了字段存储的最大字节数2021/8/5221.数据表的结构2021/8/52字段类型代号说明字段宽度示例字符型C存放一串字符或汉字最多254字符学生的学号、姓名数值型N存放一个整数或实数最多20个字节学生成绩日期型D存放一个日期8个字节出生日期逻辑型L存放逻辑值T或F1个字节是否党团员备注型M存放不定长字符或汉字4个字节学生简历说明通用型G存放声音、图像等4个字节学生照片表4-2字段类型与宽度注:日期型宽度为8,逻辑型宽度为1,备注型和通用型字段宽度都为4,它们的宽度是固定不变的小数位数:只有数值型与浮点型字段才有小数位数2021/8/523字段类型代号说明字段宽度示例字符型C存放一串字符或汉字最建立表的结构菜单方式命令方式:create<新表文件名>注:以上两种方式都使用了表设计器设置默认目录命令:setdefaultto路径createtable<表名>(<字段名1><字段类型>[(<字段宽度>[,<小数位数>])][,<字段名2>…])功能:建立一个由<表名>表示的表,表中含有指定的字段例:createtablestud(学号c(8),姓名c(8),性别c(2),出生日期d,;专业号c(2),入校总分n(6,2),团员l,简历m,照片g)表数据的输入4.2表的打开和关闭打开表菜单方式命令方式:use[路径]<表文件名>2021/8/524建立表的结构2021/8/54表的浏览与表数据的添加关闭表命令1:use功能:关闭当前工作区已打开的表文件命令2:closetables[all]功能:关闭所有的表文件命令3:closeall功能:关闭所有工作区中所有各类型文件,包括表文件4.3表结构的修改利用表设计器修改表菜单方式命令方式:modifystructure利用表向导修改表结构2021/8/525表的浏览与表数据的添加2021/8/554.4表的记录定位和显示记录的定位记录指针的绝对定位命令:go|goto<数值表达式>|top|bottom例:usestud?recno()go4?recno()gobottom?recno()gotop?recno()记录指针的相对定位2021/8/5264.4表的记录定位和显示2021/8/56skip[<数值表达式>]功能:从当前记录开始移动记录指针,<数值表达式>表示移动记录的个数例:usestud?recno(),bof()skip-1?recno(),bof()&&记录号仍然为1skip8?recno(),bof()skip?recno(),eof()skip?recno(),eof()&&记录号为11注意:数值表达式若为负值表示向文件头移位,若缺省默认为12021/8/527skip[<数值表达式>]20记录的显示list命令命令格式:list|display[[fields]<表达式表>][<范围>][for<条件>][while<条件>][off]功能:在表中按指定范围与条件筛选出记录并显示出来说明:范围子句:4种限定方法all所有记录next<n>从当前记录起的n个记录record<n>第n个记录rest从当前记录起到最后一个记录止的所有记录注:缺省范围子句默认为all;而display命令默认为当前记录for子句:其中<条件>为逻辑表达式,表示筛选出符合条件的记录例:usestudgo2listnext5for入校总分>=5752021/8/528记录的显示2021/8/58while子句:也用于指明筛选条件,从当前符合条件的记录开始筛选,遇到不满足条件的记录时就结束例:usestudgo5listnext5while入校总分>=520fields子句:确定要进行操作的字段。保留字fields可以省略,表达式表列出需要操作的字段;若fields子句省略,则显示除备注型、通用型字段外的所有字段例:usestudlistlistrecord6fields学号,姓名,入校总分off:不显示记录号例:要求:1)显示第3个到第5个之间男生记录2)列出入校总分高于520的非团员或者在1985.6.30以后出生的团员,只列出学号,姓名,入校总分,团员2021/8/529while子句:也用于指明筛选条件,从当前符合条件的记录开2关系运算选择:从关系中找出满足条件的记录投影:从关系中选取若干属性(字段)组成新的关系联接:是对两个关系通过共同的属性名(字段名)进行投影操作来联接生成一个新的关系2021/8/530关系运算2021/8/510浏览窗口显示记录命令:browse[fields<字段名表>][for<条件>]功能:打开浏览窗口,显示、浏览和修改记录数据例:usestudbrowfields学号,姓名,入校总分,团员for团员命令和子句的书写规则各子句的次序允许任意排列,命令与子句、子句与子句以及子句内部用空格分隔如:listnext5for入校总分>=575命令动词与各子句中的保留字可简写为前4个字符若一行写不下,可在其后键入续行符“;”[]表示可选,|表示任选其一,<>表示必须由用户定义,书写命令时不能写出来2021/8/531浏览窗口显示记录2021/8/5114.5表结构和数据的复制复制任何类型的文件copyfile<文件名1>to<文件名2>功能:从文件名1复制得文件名2例:usecopyfilestud.dbftod:\vf\ss.dbfcopyfilestud.fpttod:\vf\ss.fpt注意:1)复制时该表处于关闭状态2)文件名必须完整,可跟上相应路径,可使用通配符复制表文件copyto<文件名>[fields<字段名表>][<范围>][for<条件>][while<条件>][[type][xls|sdf]]功能:将当前打开的表中选定的部分记录和部分字段复制成一个新表或其他类型文件2021/8/5324.5表结构和数据的复制2021/8/512例:usestudcopytoxs&&若有fpt文件,则也会复制copytoxueshengfields学号,姓名,性别for团员=.t.usexueshenglistcopytoshmdalltypesdf&&将xuesheng.dbf复制成文本文件typeshmd.txt复制表结构copystructureto<文件名>[fields<字段名表>]功能:仅复制当前表的结构,不复制其中的数据例:usestudcopystructuretoxshfields学号,姓名,性别,出生日期usexshliststructure

2021/8/533例:usestud2021/8/5134.6表数据的修改记录的插入和追加插入新记录insert[blank][before]功能:在当前打开表文件中的当前记录指针位置处插入新记录注:1)使用before子句能在当前记录之前插入新记录,缺省该子句则在当前记录之后插入新记录2)使用blank子句立即插入一条空白记录,缺省该子句则出现记录编辑窗口,等待用户输入数据例:usestudlistgo7insertbeforeblanklist2021/8/5344.6表数据的修改2021/8/514记录的追加append命令:在表尾追加记录append[blank]注:1)使用blank子句能在表尾追加一条空白记录2)缺省blank子句会出现记录编辑窗口,等待用户输入数据insert-SQL命令insertinto表名[(字段名1[,字段名2,…])]values(表达式1[,表达式2…])功能:在表尾追加一个新记录,并将数据存入记录中如:insertintostud(学号,姓名,性别,出生日期,专业号,入校总分,团;员)values('s0401111','唐日新','女',{^1985/09/11},'02',555,.t.)说明:1)表可以不事先打开,字段与表达式的类型要相同2)若字段名全部缺省,就必须按表结构字段顺序填写values子句的所有表达式

2021/8/535记录的追加2021/8/515appendfrom命令:在当前表末尾追加一批来自于另一文件的记录appendfrom<文件名>[fields<字段名>][for<条件>]例:将表stud.dbf中所有男同学记录追加到xuesheng.dbf的表尾

usexueshengappendfromstud.dbffor性别=‘男’记录的删除和恢复其中表记录的删除要分两步进行。第一步:在要删除的记录上加删除标记;第二步:用pack命令将带有删除标记的记录从表中真正删除记录逻辑删除命令(第一步)命令格式:delete[<范围>][for<条件>][while<条件>]功能:对当前表在指定<范围>内满足<条件>的记录加上删除标记。若可选项都省略,只在当前记录加标记2021/8/536appendfrom命令:在当前表末尾追加一批来自于另一文例:使用函数delete()可以判断记录是否被逻辑删除usestuddelefor入校总分<520listgo4?delete()go7?delete()记录物理删除命令

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论