数据表操作
例: USE XSDA.DB GO 3 2 GO BOTTOM 学生上机: 请将记录指针指向表头、表尾、第5条记录
(2) 相对定位SKIP 将当前记录指针向前或向后作相对若干条记录的 移动. 学生上机: 请将数据表XSDA.DBF中的记录指针指向第5 条记录、向前移两条,再向后移4条,再向后移一条。
一、数据库基础
建立数据库
在项目管理器中建数据库 选择命令菜单建立数据库 执行命令创建数据库
CREATE ATABASE [数据库名称|?]
数据库创建后, 数据库自动打开,成为当前数据 库.
打开数据库
命令: OPEN DATABASE [文件名 |?][EXCLUSIVE][SHARED][NOUPDATE] 设置当前数据库 SET DATABASE TO 数据库名 不加数据库名则为关闭当前数据库 修改数据库 MODIFY DATABASE 数据库名
数据库设计器
数据库表一
数据库表 间的联系
数据库表二
字段及字段类型 字段是每一列数据的名字。字段名的命令 规则如下:
数据库表字段名最多128个字符,自由表字段
名最多10个字符。 字段名必须以字母或汉字开头。 字段名可包含字母、数字、汉字和下划线。 字段名中不能包含空格。 同一个数据表中,字段名不能重复
Xsda.dbf表数据记录
实训指导: 1、设置默认路径。 2、用菜单方式建立项目管理器,项目名为”学生管理系 统.PJX”。 3、在项目管理器中新建数据库“XSZL.DBC” 4、在数据库“XSZL.DBC”中建”XSDA.DBF”数据表 5、用立即输入方式追加记录。 说明: 如果记录未输入完成退出了输入状态,想继续追加 记录,则需先打开项目管理器,找到所建的表,点击”浏 览”,再单击“显示”菜单下的“追加方式”命令。如图1、 2
XSCJ.DBF表结构
XSCJ.DBF表数据记录
实训
目的: 掌握为数据表成批录入数据的方法 要求: 1、新建一数据表,表名为XSDA1.DBF,结 构同实训二中的XSDA表 2、将实训二中建好的表”XSDA.DBF”中属 于自费的学生的记录加到XSDA1表中
本节作业
1、掌握数据表字段的几种类型及符号表示 2、填空: (1)数据表分( )表和( )表。 (2)创建数据表的命令为( ) (3)打开及关闭数据表的命令为( ) (4)浏览数据表的命令( ) 3、为数据表追加数据有哪几种方法? 4、将已有的XSDA表中入学分数>530的记录的学号、姓名、性别、民族、 入学分数五个字段追加到XSDA2(未建)表中的方法及命令是什么
(3) LOCATE命令 LOCATE命令用于按指定条件定位记录。其语法格式 如下: LOCATE FOR 条件 该命令执行后,指针定位到第一条满足条件的记录。 若没有满足条件的记录,则记录指针指向最后一条记录之 后。 如果要定位到下一条满足条件的记录,可执行 CONTINUE命令。CONTINUE必须在LOCATE命令之后。 例:请在XSDA.DBF中查找姓名为”尼玛”的记录, 如找到, 请显示本条记录.
日期时间型(T):存放日期时间型数据,宽
度固定8个字节。 逻辑型(L):存放逻辑值,宽度固定1个字节。 只有两种取值的字段最好用逻辑型. 备注型(M):存放较长的字符型数据,如个 人简历,字段宽度固定4个字节。字段中存放 的是实际数据的引用,实际数据存放在备注文 件(扩展名为.fpt)中。 演示创建表文件时无备注字段和有备注字段生成 文件类型的区别
三、数据表的索引
图书目录的作用是什么?
索引的概念
索引是VISUAL FOXPRO的排序机制,它不改变 数据表中数据的物理顺序,而是另外建立一个索 引文件。 索引就是根据数据表中某些字段的值进行排序, 但它并不改变表中记录的物理顺序,而是建立一 个由指定索引字段的值和它对应的记录号组成的 索引表,即索引文件。 索引的作用:对数据值进行快速显示、快速查询, 并可控制索引字段值重复输入。
可输入任何字符,但所有输入的英文字母都会被转换成大 写,此适用于字符字段
数值数据以货币格式显示 指定小数点位置
,
用来分隔小数点左边的数字
实训
请将XSDA2.DBF表中的XH和XM两字段设 置显示标题,分别为”学号”和”姓名”; 设置性别的默认值为”汉”; 设置入学分数的字段有效性规则为入学分 数大于490分且小于620分; 设置字段有效性的提示信息, 即如果入学分 数超出范围, 系统提示”你输入的分数超范 围”
第四部分 数据表的创建、修改、记录操作
实训
创建数据表
说明:创建表之前,请设置好默认路径 要求:根据以下给出的数据表的字段属性及数据记录, 建立数 据表的结构,并录入数据记录.数据表名称:xsda.dbf
Xsda.dbf表字段属性
字段名 学号 姓名 出生日期 民族 籍贯 自费否 入学分数 照片 简历 类型 字符型 字符型 日期型 字符型 字符型 逻辑型 数值型 通用型 备注型 宽度 8 8 8 6 8 1 5 4 4 1 小数位数
图1
图2
表的设计与操作
一、表的基本概念
VFP中,数据是以表的形式存在的,即 数据表。其形式是二维表格。 每一列称为字段,每一行称为记录。 表的扩展名为: .DBF
字段
记录
学生信息表
表的存放
表可以放在数据库中, 叫数据库表. 也可以脱 离数据库而存在, 叫自由表. 数据库中可存放多张表及表间的视图、连接、 关系、存储过程和触发器等。数据库的扩展名 为:.DBC 通过数据库,可以方便地生成一组相关表并保 持表间的持久关系,这样为用户在设计程序时提供 了很大的灵活性, 使程序更加可靠,易于维护.
三、表结构的修改
在项目管理器中修改:
命令方式修改:MODIFY STRUCTURE
四、数据表的显示
菜单方式 命令方式
命令格式: LIST|DISPLAY [OFF] [FIELDS <字段名列表>] [<范围>] [FOR <条件>] [WHILE<条件>] [TO PRINTER|TO FILE<文本文件名>] OFF: 使用时,不显示记录号 FIELDS <字段名列表>] : 不省略只显示指定的字段 [<范围>]: 表示记录显示的范围. 参数有ALL、RECORD(N)、NEXT(N)、 REST [FOR <条件>] [WHILE<条件>]: 有选择地显示某些字段 DISPLAY: 每显示一屏记录时暂停一次, 按任意键后继续显示剩余的记录, 而 LIST 是连续滚动向下显示,直到记录显示完毕为止.
实训
1、将XSDA.DBF第二条记录的性别改为”男” 2、将XSDA.DBF表中所有少数民族的入学分 数加5分. 3、将XSCJ.DBF中的所有成绩不及格的学生 的分数调整为及格(即60分)。
3、数据表记录的插入
命令格式: INSERT [BLANK][BEFORE] 例:在XSDA表第三条记录前加一条空白记录
字段类型和宽度
字段的类型决定了字段中可以存放的数 据以及如何存放这些数据,字段宽度可决 定字段中可存放的字符个数或数值精度。
Visual FoxPro的字段类型如下:
字符型(C):存放字母、汉字或数字等各种
字符,其字段宽度为存放的字符个数。 货币型(Y):存放货币值,如商品价格,其 字段宽度固定8个字段。 数值型(N):存放整数或小数等数值,其字 段宽度等于整数位数加小数位数再加1,最大 宽度为20。 日期型(D):存放日期型数据,宽度固定8个 字节。
关闭数据库 CLOSE DATABASE 删除数据库 DELETE DATABASE [数据库名|?] [DELETETABLES][RECYCLE]
二、数据库表字段属性
设置字段显示标题 设置字段注释 设置字段默认值 设置字段有效性规则和提示规则说明 设置表属性
设置表注释信息 设置记录有效性
提示: 数据表文件的复制命令格式: COPY TO <文件名>[FIELDS <字段名表>][FOR <条件1>][WHILE<条 件2>]
第五部分 数据库设计
VFP使用数据库来管理数据表和其他数 据库对象,数据库文件的扩展名为.DBC。在 创建数据库时,VFP自动创建一个同名的数 据库备注文件(扩展名为.DCT)和一个同名 的数据库索引(文件扩展名为.DCX)。
USE [<表名|?>][IN 工作区编号|表别名] [ALIAS 表别名] 关闭表的命令为 USE 跟随老师练习, 打开表及关闭表,并观察状态栏的变化
(2) 追加 菜单方式 命令方式追加单个记录 APPEND [BLANK] 命令方式追加成批记录
APPEND FROM 文件名 [FOR 条件1 ][WHILE 条件2][FIELDS 字段名表]
字段显示设置包括格式、输入掩码
和标题。
格式:设置单个字符能输入什么,不能输
入什么 输入掩码:限制和控制用户输入的格式。 表示以什么格式来输入 标题:字段显示时的标题,默认为字段名。
部分格式化代码说明
格式化代码 A N 9 ! $ . 功能用途 只能输入英文字母 只能输入英文字母和数字 只能输入数据的数字或数值数据的数字
练习: 1、 请查找姓“刘”的记录,并显示。 2、请用LOCATE、CONTINUE命令逐条 查找少数民族学生,并显示。
2、修改数据记录
(1) 浏览、编辑、修改 命令格式: BROWSE [FIELDS<字段名表>] ]FOR <逻辑表达式>] EDIT CHANGE (2) 成批替换命令 命令格式: REPLACE [<范围>] 字段名1 WITH 表达式1 [,字段名2 WITH 表达式2 …] [FOR <条件>] [WHILE<条件>] 例:1、将XSCJ.DBF表中所有人的数据库成绩加5分