第2章数据库和表的基本操作•2.1数据库的建立与修改•2.2数据表的建立与修改•2.3表浏览器•2.4表达式•2.5表的维护命令2.1数据库的建立与修改一、数据库的建立1.操作法:在项目管理器中单击数据库选择点击“新建”按钮,在弹出窗口中选择“新建数据库”,给出数据库名称和保存位置后确定,打开空白的数据库设计器。也可通过菜单:选定“文件”菜单的“新建”命令选定“数据库”选项按钮选定“新建”文件按钮在创建对话框中键入数据库名选定“保存”按钮后数据库文件产生,同时打开数据库设计器窗口。2.1数据库的建立与修改2.命令法:在命令窗口中输入以下命令语句:CreateDatabasee:\张三\学生.dbc然后在项目管理器中通过“添加”按钮将新数据库添加到指定项目中。二、数据库文件.DBC数据库文件.DCT数据库备注文件.DCX数据库索引文件2.1数据库的建立与修改三、数据库的管理通过数据库设计器实现对库中所属的数据表、视图、存储过程等进行新建、添加、移去、修改、使用等功能。数据库的修改即可以在“项目”菜单选择“修改文件”,也可通过命令:ModifyDatabase数据库名来打开数据库设计器。2.1数据库的建立与修改数据库设计器2.2数据表的建立与修改一、数据表的定义和分类数据表是关系数据库系统中的基本结构,以记录与字段的形式存储数据,类似于二维表格。学号姓名性别班级家庭住址邮政编码06010301刘中雨女商管大庆16331806010302林天力男商管大庆16331806010303王平男商管大庆16331806010304章闻天男商管大庆16331806020201闻书敏女会计大庆16331806020202于小丽女会计大庆1633182.2数据表的建立与修改VFP中的数据表可分为数据库表和自由表两大类。数据库表必须属于某一个已存在的数据库,而自由表没有该限制,但它与数据库表相比不能建立永久关系并且缺少很多数据词典功能设置。2.2数据表的建立与修改2.2数据表的建立与修改二、数据表的建立1.操作法:(1)通过项目管理器建表在项目管理器中找到要建表的数据库,选中“表”选项,单击“新建”按钮,在弹出窗口中选择“新建表”,给出数据表名称和保存位置后“确定”,打开表设计器定义表结构,然后开始输入数据记录,完成数据表的建立。2.2数据表的建立与修改(2)通过菜单建表选定“文件”菜单→选定“新建”命令→选定新建对话框中的“表”选项按钮→选定“新建文件”按钮,出现创建对话框→在对话框中输入表名学生.dbf,在保存类型组合框中选定表→选定“保存”按钮,出现表设计器。2.2数据表的建立与修改2.命令法:在命令窗口中输入以下命令语句:Createe:\张三\Class.dbf打开表设计器定义该表结构,完成数据表的建立,最后在项目管理器中通过“添加”按钮将新数据表添加到指定数据库中。2.2数据表的建立与修改三、利用表设计器定义表结构(一)数据表结构设计的基本内容:基本结构定义(可定义1~255个字段)索引定义(可定义0或多个索引)有效性规则(包括字段级规则和记录级规则)附加设置(包括表注释、格式、显示等定义)2.2数据表的建立与修改(二)基本结构定义建立基本结构就是定义各个字段的属性,基本属性可包括字段名、字段类型、字段宽度和小数位数等。1.字段名字段名又称字段变量,用来标识字段,它是一个以字母或汉字开头,长度不超过10的字母、汉字、数字、下划线序列,但必须以字母或汉字开头,中间不能有空格。2.2数据表的建立与修改2.字段类型2.2数据表的建立与修改2.2数据表的建立与修改3.字段宽度字段宽度用以表明允许字段存储的最大字节数。4.小数位数为数值型、浮动型及双精度型字段定义其小数位位数。小数点和正负号都占一位。5.索引顺序(升序或降序)确定使用该字段时的排序依据2.2数据表的建立与修改例:学生(xs).dbf的基本结构字段名类型宽度学号(xh)字符型3姓名(xm)字符型8性别(xb)字符型2班级(bj)字符型10出生日期(csrq)日期型8民族(mz)字符型10政治面貌(zzmm)字符型4籍贯(jg)字符型20备注(bz)备注型42.2数据表的建立与修改四、表数据的输入在新建表的表设计器中输入完字段属性后单击确定按钮,即出现对话框,询问现在是否要输入数据记录。若按“否”按钮即关闭表设计器窗口,建立结构结束。若按“是”按钮,将出现“学生”记录编辑窗口,供用户输入学生.dbf的记录。2.2数据表的建立与修改1.数据输入要点:(1)按记录逐个字段输入。(2)逻辑型只接受.T..Y..F..N.(3)备注型、通用型字段非空时,字段首字母以大写显示。2.2数据表的建立与修改2.备注型字段数据的输入光标停在备注型memo时,若输入数据,按Ctrl+PgDn或用鼠标双击都能打开相应的字段编辑窗口。2.2数据表的建立与修改3.表的打开与关闭(1)用USE命令USE[文件名]功能:在当前工作区中打开或关闭表。A.文件名表示被打开的表的名字如use学生.dbf文件名缺省,表示关闭表。2.2数据表的建立与修改B.打开一个表,该工作区中原打开的表自动关闭。C.打开的表总有一个记录指针,指向的记录是当前记录,表刚打开时,指向第一个记录。D.及时关闭表,以便将数据保存到表中。2.2数据表的建立与修改(2)打开表的其他常用方法1)通过菜单打开表“文件”→“打开”命令→在对话框中,文件类型组合框中选定“表”类型,在列表中选定学生.dbf→选定“确定”按钮。2)通过数据工作期命令打开表打开“窗口”菜单“数据工作期”命令→打开数据工作期窗口→选“打开”按钮→弹出打开对话框来打开表。2.2数据表的建立与修改(3)关闭表的其它方法1)可用以下命令之一来关闭表CLEARALL:关闭所有的表CLOSEALL:关闭所有打开的数据库与表。CLOSEDATABASE:关闭当前数据库及其中的表,若无打开的数据库,则关闭所有的自由表CLOSETABLES:关闭当前数据库中所有的表,但不关闭数据库。若无打开的数据库,则关闭所有的自由表。2.2数据表的建立与修改2)通过窗口菜单的数据工作期命令来关闭表。3)通过退出VFP来关闭。选定“文件”菜单的“退出”命令,或在命令窗口中键入命令QUIT。2.2数据表的建立与修改五、表结构的修改表建立后若要修改结构,例如改变字段属性、增加或删除字段等,可以打开表设计器或利用表向导来操作。打开表设计器来修改表结构表处于打开状态时,“显示”菜单中就会包含表设计器命令,供用户对表结构进行修改。如果表是在一个项目数据库里,可直接点击修改来实现。2.2数据表的建立与修改表设计器也可在命令窗口键入命令来打开,其前提也是表必须先打开:MODIFYSTRUCTURE在表设计器窗口修改过表结构后,可选择窗内的“确定”按钮或“取消”按钮对作出的修改进行确认或取消,也可按CTRL+W键存盘。2.3表浏览器一、浏览器的打开1、操作法(1)在项目管理器中选择表名,单击“浏览”按钮。(2)使用“文件”菜单的“打开”选项,在打开对话框中选择要打开的表,按“确定”按钮,在“显示”菜单中单击“浏览”选项。(3)命令方式:在命令窗口先后键入以下命令:USE表名BROWSE2.3表浏览器二、查看与编辑1.工作模式:浏览:表数据以记录按行,字段按列方式显示。编辑:表数据以字段按行,记录按列方式显示。“显示”菜单中选择浏览、编辑。2.3表浏览器2.相关操作(1)记录追加1)操作法:将新记录添加在表的末尾追加方式:当打开浏览窗口后,在“显示”菜单中会出现一个“追加方式”子菜单。它是连续追加,一旦当添加出来的记录输入数据后,VFP会自动开辟出另一个新记录的位置。2.3表浏览器追加新记录:当打开浏览窗口后,系统菜单中还增加一个“表”菜单,其中有“追加新记录”子菜单。它仅添加一个记录,再要添加时需再选定“追加新记录”2.3表浏览器(2)记录的删除(分打上删除标记和从磁盘上删除两步)1)“表”菜单“切换删除标志”删除单条记录“删除记录”成批删除记录命令:Delete[记录范围][for逻辑表达式][while逻辑表达式][in工作区编号|表别名]2.3表浏览器2)恢复“删除”“表”菜单中“恢复记录”用命令动词Recall恢复记录3)删除标志检查函数检查指定表中的当前记录是否设置了删除标记。deleted([工作区号|表别名])返回.T.或.F.例:?Deleted()2.3表浏览器4)物理删除记录“表”菜单中“彻底删除”pack:物理删除表中所有带删除标记的记录,删除后不可恢复。zap:从指定的表中物理删除所有记录,只保留表结构。2.4表达式表达式可以是常量、变量、函数和运算符的组合。一、常量常量是其值固定不变的数据,它具有数值型、字符型、日期型、日期时间型、逻辑型和货币型等多种类型。字符型常量用双引号、单引号或方括号等定界符括起来的字符串。日期型常量必须用花括号括起来{01/01/99}。逻辑型常量.T.或.F.2.4表达式二、变量在命令操作和程序运行过程中其值变化的量称变量,变量包括内存变量、字段变量和系统变量等3种。2.4表达式(一)内存变量1、VFP的命名规则在VFP中除字段和文件外,所有的用户命名,例如内存变量、函数的取名,均遵守以下规则:以字母(也可汉字)或下划线开头;由字母、数字、下划线组成;至多128个字符;不可与系统保留字同名。2.4表达式2、内存变量赋值命令命令格式1:内存变量=表达式命令格式2:STORE表达式TO内存变量表功能:计算(表达式),然后将计算结果赋给内存变量例:s=“VFP”store2*4ton1,n2,n32.4表达式3、表达式值显示命令命令格式:?|??表达式表(?另起一行显示,??紧接上一命令结果显示)功能:计算表达式的值,并将其显示在屏幕上。例:store0ton1,n2?n1,n2s=‘VFP’?‘S=‘,s2.4表达式4、内存变量的显示LIST/DISPLAYMEMORY[LIKE通配符][TOPRINTER[PROMPT]/TOFILE文件名]功能:显示当前已定义的内存变量名、作用范围、类型和值。5、内存变量的清除命令格式:RELEASE[内存变量表]功能:从内存清除指定的内存变量。2.4表达式(二)字段变量表的每一个字段都是一个字段变量。对于某一字段,它的值允许因记录而异。(三)系统变量VFP提供了一批系统变量,它们都以下划线开头,分别用于控制外部设备(如打印机、鼠标器等),屏幕输出格式,或处理有关计算器、日历、剪贴板等方面的信息。_cliptext接受文本并送入剪贴板_diarydate存储当前日期2.4表达式三、运算符VFP运算符共有5种:算术、关系、逻辑、字符、日期与日期时间。(一)算术、关系、逻辑运算P50(二)字符、日期与日期时间运算2.4表达式1、字符运算符+运算符:用于连接两个字符串。-运算符:用于连接两个字符串,并将前一个字符串尾部的空格移到结果字符串的尾部。例:?“abc”+”xyz”abcxyz?”abc”-”xyz”abcxyz2.4表达式2、日期与日期时间运算符以运算符+表示数据相加,以运算符-表示数据相减。日期型数据加减某个天数,日期时间型数据加减某个秒数。例:?{05/22/07}–20?{^2007-5-22}+10?{^2007-5-22,9:30:30}+302.4表达式四、函数函数具有特定的功能,VFP提供了200余种函数,具有强大的功能。它和C语言中的函数的基本要求类似,都有函数名、参数和函数值3要素。P512.4表达式•练习:1.?mod(25.250,5.0)•?mod(-12*7,-15/3)•2.y=1234.5678•?round(y,2)•?round(y,0)•?round(y,-2)•3.n=1234.56789•?str(n,8,2)•?str(n,8)•?str(n,8,4)•?str(n,12,6)•?str(n,3)2.4表达