1、第六章 数据库和数据表的命令操作,6.1数据库、数据表的基本操作 6.2数据表结构的浏览与修改 6.3对数据表记录的操作 6.4表的排序与索引 6.5 数据表的统计 6.6多表操作,6.1 数据库和数据表的基本操作,6.1.1数据库、数据表结构的建立6.1.2数据库、数据表的的打开和关闭,数据库建立,格式:Create database |? 说明: 1.数据库名:要创建数据库的名称。 2.选择?或无任何参数,弹出“创建”对话框。 3.创建后,自动将其保存在指定目录(工具选项),扩展名为.DOC。 4.创建后,不必再用OPEN DATABASE命令打开。,数据表结构的建立,格式:Create
2、|? 功能:用于在命令窗口或程序中直接创建一个表 说明: 1.表名:要创建数据表的名称。 2.选择?或无任何参数,弹出“创建”对话框。 3.若要创建一个自由表,在使用此命令前不能打开任何数据库,否则创建的是一个数据库表,6.1.2数据库、数据表的的打开和关闭,数据库的打开数据表的打开 数据库的关闭 数据表的关闭,数据库打开,格式:OPEN DATABASE 数据库名|? EXCLUSIVE|SHAREDNOUPDATEVALIDATE 说明: 1.若无任何参数,则系统显示“打开”对话框。 2.EXCLUSIVE:以独占方式打开数据库,其它用户无法访问该数据库。 3.SHARED:以共享方式打开
3、数据库,其它用户可以同时访问该数据库。 4.NOUPDATE:对数据库不能做任何更改,数据库是只读 5.VALIDATE:指定让Visual FoxPro确保数据库中引用有效 6.当打开数据库后,其中包含的所有表都可用,但必须用USE命令打开。,数据表打开,格式:USE 数据库名!|? 说明: 1.要想打开一个不在当前数据库中的表,应在表前加数据库名称,中间用感叹号分隔。若不包含数据库名,只能在当前数据库中打开表。 2.?:弹出“使用”对话框。 3.若表中包含备注字段,则自动打开相应的备注文件。,数据库关闭,格式:CLOSE DATABASE ALL 功能:用于在命令窗口或程序中直接关闭打开的
4、数据库 说明:若没有ALL,关闭当前数据库;有此参数则关闭所有打开的数据库。,数据表关闭,格式:USE 功能:关闭当前工作区已打开的表。,6.2 数据表结构的浏览与修改,6.2.1 数据表结构的浏览6.2.2 数据表结构的修改,数据表结构的浏览,格式:DISPLAY/LIST STRUCTURE 功能:显示表的结构 说明:LIST以滚动显示的方式显示表的结构。DISPLAY以分屏方式显示表的结构。,数据表结构的修改,格式:MODIFY STRUCTURE 功能:打开“表设计器”,修改当前表的结构。 说明:如果没有打开表,则显示“打开”对话框,允许用户从中选择一个要修改的表。,6.3 对数据表记
5、录的操作,6.3.1输入、追加数据 6.3.2指针定位 6.3.3浏览、显示、插入数据 6.3.4修改、批量替换数据 6.3.5删除数据,6.3.1 输入、追加数据,全屏幕方式追加新记录 利用已有的表添加记录,全屏幕方式追加新记录,格式:APPEND BLANK 功能:在表的末尾添加一个或多个新记录。 说明: 1.若没有打开表,执行此命令将弹出一个“打开”对话框。 2.若省略BLANK,系统进入全屏编辑状态,否则直接添加一个空记录。 3.从表末尾添加记录,利用已有的表添加记录,格式:APPEND FROM 文件名|?FIELDS FOR 功能:将满足条件的记录按指定的字段从源文件添加到当前表中
6、。 说明: 1.文件名:源文件,即从哪个文件中读入记录。 2.?:弹出“打开”对话框,选择从哪个表读入数据。 3. FIELDS :指定源表中的哪些字段数据添加到当前表中。 4. FOR :设定添加记录的条件。若省略,则将源表中的所有记录添加到当前表中。,6.3.2 指针定位,记录号:每条记录的顺序号。 记录指针:用来指出表中某个记录的位置。 当前记录:记录指针指向的记录为当前记录。 指针定位:当需要对指定的记录操作时,应当将记录指针指向该记录。 Go命令 Skip命令,Go命令,格式:GOTO TOP|BOTTOM| 功能:把记录指针移动到指定的记录上,使该记录成为当前记录。 说明: 1.G
7、O TOP指向第一条记录;GO BOTTOM指向最后一条。 2.数值表达式:指定要定位的记录号。,SKIP命令,格式:SKIP 功能:把记录指针以数据表的当前记录为基准进行移动。 说明: 1.数值表达式:记录指针移动的相对记录数。若为正数,向文件尾部移动;若为负,向文件头移动。 2.若记录指针指向第一条记录,执行SKIP 1,RECNO()函数的返回值为1,BOF()函数的返回值为.T.。 3.若记录指针指向最后一条记录,执行SKIP +1,RECNO()函数的返回值为表中的记录数+1,EOF()函数的返回值为.T.。,6.3.3 浏览、显示、插入数据,浏览数据 显示数据 插入数据,浏览数据,
8、格式:BROWSE FIELDSFOR FREEZENOAPPENDNODELETE NOEDIT|NOMODIFYLOCK NUMBEROFFIELDS 功能:打开浏览窗口,显示或修改表的内容 说明: 1.FIELDS:显示字段。FOR:显示条件。 2.FREEZE:指定可编辑字段,其它字段不可编辑。 4. NOAPPEND:禁止在浏览器窗口中添加新记录。NODELETE:禁止在浏览器窗口中删除记录。NOEDIT|NOMODIFY:禁止在浏览器窗口中修改记录。LOCK NUMBEROFFIELDS:指定在浏览器窗口左窗格区域显示的字段数。,显示数据,DISPLAY/LISTFIELDS FO
9、ROFFTO PRINTER TO FILE 功能:在主窗口或用户自定义窗口中,显示与当前表有关的信息。 说明: 1.DISPLAY:满屏暂停;LIST:滚动显示。 2.范围:RECORD、NEXT、ALL、REST 3. FIELDS:要显示的字段或字段表达式。 4. FOR:只显示满足条件的记录。 5.OFF:不显示记录号。,例:显示stu_info表中第3条记录的信息,不显示记录号list record 3 off 例:将stu_info表中姓王或名字中包含强字的记录显示出来,只显示卡号和姓名,不显示记录号。list for 李$姓名 or 强$姓名 fields 卡号,姓名 off 例
10、:显示年龄在19岁以上的同学信息。list for year(date()-year(出生日期)19 例:显示1981年1月1日出生的同学信息list for 出生日期1981-01-01,插入数据,格式:INSERT BEFOREBLANK 功能:在当前表中插入记录。 说明: 1.若没有可选项,是在当前记录之后插入一条记录。 2.若有BEFORE,是在当前记录之前插入一条记录。 3.若有BLANK,是插入一条空记录,否则弹出数据输入窗口。,6.3.4 修改、批量替换数据,修改数据 批量替换数据,修改数据,格式:EDIT|CHANGE FIELDSFOR 功能:打开编辑窗口以修改表中记录。 说
11、明:若省略所有可选项,则从当前记录开始修改。,批量替换数据,格式:Replace withadditive,withadditiveforin 工作区号|表别名 功能:对指定范围内满足条件的记录逐个地用WITH右边表达式的值替换WITH左边字段的值。 说明:1.执行命令时,系统不进入全屏幕编辑方式。 2.若省略范围和条件,只对当前记录替换。 3.additive:只适用于备注字段,将表达式的内容加到备注字段中的文本内容的尾部而不覆盖原有内容。,6.3.5 删除数据,加删除标记 取消删除标记 物理删除 Zap命令,6.4 表的排序与索引,6.4.1 表的排序6.4.2 索引6.4.3 数据的查找
12、,6.4.1 表的排序,排序就是把表中的记录按某个字段(称为关键字)值的大小重新排列组织成新的表。 命令格式 命令功能 命令说明,6.4.2 索引,索引文件 建立索引文件 索引文件的打开和关闭 设置主索引,6.4.3 数据的查找,顺序查询 索引查询,6.5 数据表的统计,6.5.1记录统计命令6.5.2累加求和及求平均值,6.5.1 记录统计命令,记录数统计命令 求统计量命令,6.5.2 累加求和及求平均值,求和 求平均,6.6 多表操作,6.6.1工作区的选择与使用6.6.2表间临时关系,6.6.1 工作区的选择与使用,当前工作区 命令格式 命令功能 命令说明,6.6.2 表间临时关系,建立表间临时关系 取消表间关联,本章小结,主要讲述了如何使用命令创建、打开和关闭数据库和数据表,如何使用命令追加、插入、浏览、删除和修改数据表的记录,以及记录指针的定位方法,使用批命令如何修改记录的内容。 为了提高查找的速度,使用排序和索引命令的方法,使数据表按一定的顺序进行排列,然后进行查找和定位将更加快速。 数据表的统计命令,求数据表的记录数,求某个字段部分或全部数据的总和、平均值、最大值和最小值等。 在不同工作区同时多个数据表的方法,以及使用关联的方法,即在有关系的数据表之间通过建立临时关系,可以实现记录指针的同时变化。,