您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > XXXX年VFP之VFP项目-数据库-表--严浩
------主讲人:11111严浩一.三者关系数据库1表1数据库2表2项目数据库3表3数据库4一个项目可以有多个数据库一个数据库可以有多个表一张表只能属于一个数据库2严浩二.数据库的建立与使用1.创建数据库①界面方式②命令方式createdatabaseabc※创建数据库后,自动生成三个文件.dbc,.dct,.dcx※一个数据库主要包含五个内容①本地视图②远程视图③连接④数据库表⑤存储过程2.打开数据库①界面方式②命令方式opendatabaseabc3.关闭数据库①界面方式②命令方式closedatabaseabc4.设置当前数据库①界面方式②命令方式setdatabasetoabc3严浩二.数据库的建立与使用5.删除数据库①从项目管理器中移去数据库1,此数据库1仍存在于文件夹中,属于此数据库1的表不能自动成为自由表,不能自由添加到其他数据库中。②从项目管理器中删除数据库2,此数据库2在文件夹中也被删除,下属表变成自由表,可以添加到其他数据库中。③从文件夹中直接删除数据库3,下属表存在且不是自由表。(非法操作)※使一张表变为自由表的命令:freetableabc.dbf&&使表abc变成自由表严浩4三.数据库表的建立与使用(一)表结构概述(二)表结构的创建(三)表结构的修改(四)表的打开与关闭(五)表数据的处理严浩5三.数据库表的建立与使用(一)表结构概述1.有关表的基本概念①数据库表与自由表:自由表+扩展属性+主索引=数据库表②表结构:表名+表头(属性的集合)③字段:表中的一列④记录:表中的一行严浩6三.数据库表的建立与使用(一)表结构概述2.字段的基本属性①字段名的命名要求:必须以字母开头,可由数字符号,字母,下划线组成,不分大小写,不允许空格或其他字符。自由表的字段名=10个字符。数据库表的字段名为1-128个字符。如果从数据库中移去一个表,那么此表的长字段名将被截成10个字符。②数据类型及字段宽度:③小数位数:④NULL值:严浩7三.数据库表的建立与使用(二)表结构的创建1.界面方式:表设计器2.命令方式:createtable表名(字段名1类型(长度),…,字段名n类型(长度))例:createtableteacher(xmc(10),xhc(12))※表创建成功后,自动生成表文件.dbf和表备注文件.fpt严浩8三.数据库表的建立与使用(三)表结构的修改1.界面方式:2.命令方式:ALTERTABLE表名ADD[COLUMN]新字段名类型(长度)&&增加字段ALTERTABLE表名ALTER字段名新类型(新长度)&&修改字段ALTERTABLE表名RENAME旧字段名TO新字段名&&重命名字段ALTERTABLE表名DROP字段名&&删除字段例:altertableabcadd[column]jgc(20)&&增加jg字段altertableabcalterzzmmc(20)&&修改字段altertableabcrenamezzmmtozzmmdm&&重命名字段altertableabcdropzp&&删除zp字段严浩9三.数据库表的建立与使用(四)表的打开与关闭1.工作区:表每次打开的时候,都会在内存中分配到一块存储区域,作为工作区,而且计算机都给工作区进行了编号(即工作区号),这个编号范围从1到32767。另外,VFP还规定前10个工作区可用字母A-J作为工作区别名。2.表的别名:在工作区中打开表时为该表所定义的名称。可以自定义别名,否则系统默认就以表名作为别名。若一张表在多个工作区中被打开,系统默认在表名后依次加_a、_b…。自定义别名的格式:use表名alias别名严浩10三.数据库表的建立与使用(四)表的打开与关闭3.表的打开与关闭:①关闭表:usein2&&关闭指定工作区打开的表use&&关闭当前工作区中的表。closetablesall&&关闭所有工作区中的表②打开表:usexs&&在当前工作区打开表xsselectxs&&选择xs表所在的工作区作为当前工作区select0&&选择当前未被使用的最小工作区select3&&选择3号工作区严浩11三.数据库表的建立与使用(四)表的打开与关闭3.表的打开与关闭:③不改变当前工作区,在指定工作区打开表:usejsin0&&不改变当前工作区,在当前未被使用的最小工作区打开js表usejsin5&&不改变当前工作区,在5号工作区中打开js表usegzaliassalaryin6&&把工资表改别名后在6号工作区打开usexsagainin11&&在11号区再次打开xs表严浩12三.数据库表的建立与使用(五)表数据的处理1.表的浏览与筛选browse&&浏览当前工作区中的表list&&在主窗口显示当前表browseforxb=女&&筛选记录【显示在表中】listforxb=女&&筛选记录【显示在主窗口中】browsefieldsgh,xm,xb&&筛选字段【显示在表中】listoffgh,xm,xb&&筛选字段【显示在主窗口中】browsefieldsgh,xm,xbforxb=女setfiltertoxb=女&&设置记录的筛选条件setfilterto&&恢复原来setfieldstogh,xm,xb&&设置字段筛选setfieldstoall&&恢复原来displayall&&在主窗口中显示所有记录displayallforxb=女&&在主窗口中显示性别为女的所有记录displayoffxm&&在主窗口中显示表中所有姓名的字段display&&默认在主窗口中只显示一条记录严浩13三.数据库表的建立与使用(五)表数据的处理2.表记录的添加①单条记录的添加:界面方式:显示追加方式命令方式:insertinto表名(字段名1,字段名2)values(表达式1,表达式2)例:insertintostudent(xb,xh)values(“男”,“1301021”)②批量记录的导入:append&&显示编辑窗口,直接添加记录appendblank&&添加一条空记录appendfromxs&&从学生表中批量导入记录appendfromabcdelimited&&从文本文件中批量导入记录appendfromabcxls&&从excel文件中批量导入记录严浩14三.数据库表的建立与使用(五)表数据的处理3.表记录的修改①界面方式:表设计器②命令方式:非SQL语言:replace[范围语句]字段with表达式[for条件表达式]【范围语句】all|nextn|rest|recordn例:replaceallcjwith75forkcdm=“60023”replaceallbzwith“优秀学生”forcj=90replaceallbzwithiif(cj=80,“三好学生”,“合格”)SQL语言:update表名set字段1=表达式[where条件表达式]例:updateabsetcj=90wherekcdm=“60023”严浩15三.数据库表的建立与使用(五)表数据的处理4.表记录的删除①逻辑删除(可以恢复)非SQL语言:delete[范围语句][for条件表达式][in工作区号]表别名]例:deleteforxb=“女”&&为性别是女的所有记录添加删除标记recallall&&恢复原来delete&&默认给当前的一条记录添加删除标记recall&&恢复原来SQL语言:deletefrom表名[where条件表达式]②物理删除(彻底删除,无法恢复)pack&&彻底删除添加了删除标记的记录zap&&彻底删除当前表中所有记录严浩16三.数据库表的建立与使用(五)表数据的处理5.表记录的复制copytoabc&&把当前表复制到abc表中copytoabcfieldsxh,xm&&把当前表内xh和xm记录复制到abc表中copytoabcforxb=“女”&&把当前表内女性记录复制到abc表中copytoabcxls&&把当前表以excel格式复制copytoabcsdf&&把当前表以文本格式复制严浩17三.数据库表的建立与使用(五)表数据的处理6.表记录的定位①相对定位和绝对定位:go/goto5&&绝对定位到第五条记录gotop/gobottom&&绝对定位到第一条/最后一条记录skip5&&相对定位(在此基础上向后加5)skip-5&&相对定位(在此基础上往前减5)skip&&默认在此基础上向后加1②有关表记录定位的命令:?bof()&&判断当前记录是否为表头?eof()&&判断当前记录是否为表尾?recno()&&返回当前记录的记录号?reccount()&&返回当前表中记录的总数目※一张表的记录初值为1,记录尾值为记录总数加1③条件定位:从整张表的第一条记录开始按顺序逐个查找符合条件的记录locateforjg=“上海”&&返回籍贯为上海的第一条记录的记录号continue&&返回籍贯为上海的第二条记录的记录号严浩18四.表索引的建立与使用(一)有关索引的基本概念(二)索引的创建和使用严浩19四.表索引的建立与使用(一)有关索引的基本概念1.记录顺序:①物理顺序(自然顺序)②逻辑顺序(人为顺序)2.索引:①概念:按表文件中某个关键字段或者字段表达式建立记录的逻辑顺序。它是由一系列记录号组成的一个列表,存放在.CDX中。②作用:提供对数据的快速访问。③特点:让表中记录按照某种逻辑顺序显示,但不改变表中记录的物理顺序。(即:使用gotop/gobottom等定位命令时,结果不受索引影响。)严浩20四.表索引的建立与使用(一)有关索引的基本概念3.索引关键字(索引表达式):不同类型字段构成索引表达式时,注意数据类型的统一.4.索引标识名(索引名):即索引关键字的名称,长度=10个字符。5.索引类型:①主索引:表中记录不能有重复值,一张表只能有一个主索引。②候选索引:在指定的关键字段或者表达式中不允许有重复值的索引。③普通索引:一张表中可以有多个普通索引。④唯一索引:参加索引的关键字段或者表达式在表中可以有重复值。但具有重复值的记录只显示第一条。严浩21四.表索引的建立与使用(二)索引的创建和使用1.索引的创建:①界面方式:表设计器②命令方式:A)indexon索引表达式tag索引名[candidate|unique](该命令不能创建主索引)例:indexonxmtagxm1&&设置普通索引indexonxmtagxm2unique&&设置唯一索引indexonxmtagxm3candidate&&设置候选索引setordertoxm1&&设置主控索引setorderto&&恢复原来B)altertable表名addprimarykey|unique索引表达式tag索引名(该命令可创建主索引和候选索引)严浩22四.表索引的建立与使用(二)索引的创建和使用2.索引的修改和删除:①界面方式:表设计器②命令方式:deletetagximing&&删除索引名为ximing的索引deletetagall&&删除全部索引altertableabcdropcandidate/uniquetag&&删除表abc中的候选索引/唯一索引严浩23四.表索引的建立与使用(二)索引的创建和使用3.索引的使用(设定主控索引):①界面方式:表设计器②命令方式:setordertoxm1&&设置主控索引setorderto&&恢复原来4.快速定位:seek“130702148”&&二分法查找学号为130702148的学生严浩24五.数据库表的扩展属性(一)数
本文标题:XXXX年VFP之VFP项目-数据库-表--严浩
链接地址:https://www.777doc.com/doc-757818 .html