2.3 创建表
在Visual FoxPro 6.0中,用户可以创建数据库表,也可以创建与数据库无关联的自由表。若将表放在数据库中,则可以为数据库建立长表名和长字段名。
创建表可以分两步进行:第一步确定表结构,即确定表的字段个数、字段名、字段类型、字段宽度及小数位数等属性;第二步根据字段属性输入相应的记录。
下面以在“学生”数据库中创建“学籍”表为例,介绍如何创建表。“学籍”表的记录如表2-1所示。
表2-1 “学籍”表记录
分析该表可以发现,该表共有10个字段,它们分别是:学号、姓名、性别、民族、出生日期、入学成绩、专业、团员、照片和简历;有10条记录,每条记录都包含以上这些字段(其中照片和简历数据未列出)。
要建立该表,首先需要确定每个字段的属性,即字段名、数据类型、宽度、小数位数,见表2-2。
表2-2 “学籍”表字段及其属性
2.3.1 建立表结构
建立表结构可以利用表设计器、表向导或命令方式来实现。
1.使用表设计器建立表结构
表都隶属于某一数据库(自由表除外),建立数据库表时,可以先打开隶属的数据库,然后在该数据库中建立新表。
【例1】使用表设计器在“学生”数据库中创建“学籍”表。
操作步骤如下:
(1)打开“学生管理”项目文件,在“项目管理器”窗口中选择“数据”选项卡,再选择“学生”数据库中的“表”。
(2)单击“新建”按钮,出现“新建表”对话框,如图2-11所示。
(3)单击“新建表”按钮,出现“创建”对话框,如图2-12所示,输入表名“学籍”,选择“保存类型”为“表”。
图2-11 “新建表”对话框
图2-12 “创建”对话框
(4)单击“保存”按钮,打开“表设计器”对话框,如图2-13所示。
图2-13 “表设计器”对话框
(5)在“表设计器”对话框中,首先在“字段名”下的空白栏内单击鼠标,输入第一个字段名“学号”,然后按Tab键或直接移动光标到“类型”栏,定义数据类型。
定义数据类型有两种方法:第一种方法是单击“类型”框右侧的下箭头,在下拉列表框中选择类型;另一种方法是直接用向上或向下的方向键来更改当前“类型”框中的数据类型,直至选到合适的类型,如选择“字符型”。
定义数据的宽度也有两种方法:一种是通过右面的上下箭头来调整框中数字的大小;另一种是在框中直接输入合适的数值,如输入数字6。用户只能定义字符型、数值型、浮动型和字符型(二进制值)数据的宽度,其中只有数值型和浮动型才能定义小数位。
在定义字段过程中,如果要给某个字段加上索引,可在“索引”栏中选择“升序”或“降序”,默认状态为不索引。如果某字段可以接受NULL值,则单击NULL栏的按钮,显示选中标记。选择NULL选项,表示允许该字段值为空值,这时的空值与空格字符串、数值0的含义不同。在输入记录数据时,空值表示缺值或还没有确定值,不能把它理解为任何意义的数据。例如,某门课程的成绩为空值,表示还没有值,而数值0表示可能是零分。但有些字段不能设置为NULL值,例如表中的关键字段。
按表2-2所示的“学籍”表字段属性,依次定义其他字段。在定义字段过程中,可以随时修改其他字段属性。
(6)定义所有字段,结果如图2-14所示。
图2-14 “学籍”表结构
(7)单击“确定”按钮,出现“是否输入数据记录”对话框,如图2-15所示。单击“否”,暂不输入数据记录。
图2-15 “是否输入数据记录”对话框
至此,建立了“学籍”表结构,不过是一个只有结构没有记录的空表。
2.使用命令建立表结构
【例2】使用CREATE命令在“学生”库中建立“成绩”表,其字段及属性如表2-3所示。
表2-3 “成绩”表字段及其属性
操作命令如下:
OPEN DATABASE 学生 &&打开“学生”数据库 CREATE 成绩 &&创建“成绩”数据库表
执行上述命令后,打开如图2-13所示的“表设计器”对话框,直接建立表结构。如果没有在项目管理器中打开数据库或没有使用OPEN DATABASE命令打开数据库,而直接使用CREATE命令建立表,则打开如图2-14所示的“表设计器”对话框。此时建立的表不是数据库的表,而是自由表。建立自由表后,再在项目管理器窗口中将自由表添加到数据库中。
3.使用表向导创建表
利用Visual FoxPro 6.0提供的表向导,用户可以创建基于典型的样表结构。样表是存储在Visual FoxPro 6.0中的例表,它具有代表性和典型性。表向导允许从样表中选择满足需要的表,经过一步步的向导引导来定制表的结构和字段及索引、关联等。如果已经打开数据库,表向导自动将新建表添加到当前数据库中。如果没有数据库打开,则创建的是一个自由表。
2.3.2 修改表结构
在建立表结构后,如果要修改表结构,可以利用表设计器来增加、删除、修改字段,设置字段属性等。
【例3】修改表结构,在“成绩”表中增加“总分”(C,6,1)和“平均分”(C,6,2)字段。
操作步骤如下:
(1)在项目管理器中选择要修改的“成绩”表,如图2-16所示。单击“修改”按钮,打开“成绩”表的“表设计器”对话框。
(2)修改或增删字段。
- 修改字段属性:在“表设计器”对话框中单击要修改的字段处,输入要修改的内容。
- 插入字段:单击“插入”按钮,可在当前选取的字段之前插入一个新字段,也可以将光标移到最后一个字段之后,插入新的字段。例如,分别插入“总分”、“平均分”字段,如图2-17所示。
图2-16 选择要修改的表
图2-17 追加的字段
- 删除字段:选取要删除的字段,然后单击“删除”按钮。
- 调整字段顺序:利用鼠标选定某字段左面的灰色方块,拖动鼠标上、下移动到新位置后释放鼠标。
(3)修改结束后,单击“确定”按钮,返回“项目管理器”窗口。
在使用命令方式修改表结构时,如果要修改结构的表没在当前打开,则首先要用USE命令打开要修改的表,然后使用MODIFY STRUCTURE打开表设计器,修改表结构。例如,键入命令:
USE 成绩 EXCLUSIVE &&打开“成绩”表 MODIFY STRUCTURE
在表设计器中修改表结构。其中,命令中的EXCLUSIVE是以独占方式打开“成绩”表,可以省略该选项。
试一试
1.建立“图书借阅”表,其表文件结构如表2-4所示。
表2-4 “图书借阅”表字段及其属性
2.在“学生”数据库中建立“部门”表,该表包含有两个字段:部门编号(C,3)和部门名称(C,30)。
知识链接
Visual FoxPro 6.0中的数据类型
在Visual FoxPro 6.0中,字段的数据类型有13种,分别为字符型、货币型、数值型、浮点型、日期型、日期时间型、双精度型、整型、逻辑型、备注型、通用型、字符型(二进制值)和备注型(二进制值)数据。各数据类型及其说明如表2-5所示。
表2-5 Visual FoxPro 6.0数据类型