预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共23页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第5章查询与视图第5章查询与视图创建表结构TABLE和DBF是等价的,前者是标准的SQL语言的关键词,后者是VisualFoxPro的关键词。 可选项FREE用于设定创建自由表。 可选项NULL或NOTNULL用于设定该字段是否允许保存为空值。 可选项CHECK用于设定字段的有效性规则,ERROR设定当违反有效性规则时,显示错误信息的内容。 可选项DEFAULT用于设定字段的默认值。 可选项PRIMARYKEY或UNIQUE用于设定该字段是否是主关键字或唯一关键字,即建立主索引或候选索引。 可选项FOREIGNKEY和REFERENCES用于建立表的普通索引,并通过该索引建立与REFERENCES后面表(作为主表)的关系。【例8.2】使用SQL命令在“学生数据库.DBC”中创建一个名为“学生成绩数据库表”的数据库表。 SQL命令如下: CREATETABLE学生成绩数据库表; (学号C(10)NOTNULL,课程编号C(5)NOTNULL,; 平时成绩N(5,1),考试成绩N(5,1),总分N(5,1),学分N(1)) 【例8.3】创建一个名为“学生档案数据库表”的数据库表。 SQL命令如下: CREATETABLE学生档案数据库表(学号C(10)PRIMARYKEY,; 姓名C(8)NOTNULL,性别C(2)CHECK性别="男"OR性别="女"; ERROR"性别为男或者女",出生日期D,团员否L,班级C(10),; 入学成绩N(5,1),照片G,备注M)【例5-1】建立一个名为“学生数据库1”的数据库,在其中创建一个“学生档案表1”,表结构和学生档案表类似。 CREATEDATABASE学生数据库1 CREATETABLE学生档案表1(学号C(6)PRIMARYKEY,姓名C(6)UNIQUE,; 性别C(2)CHECK性别="男"OR性别="女"ERROR"性别是男或女",; 入学成绩N(5,1)CHECK入学成绩>400DEFAULT550,所在系C(10),出生日期D,团员否L)【例5-2】打开“学生数据库1”,创建“学生成绩表1”,并通过“学号”字段与“学生档案表1”建立关系。 OPENDATABASE学生数据库1 CREATETABLE学生成绩表1(学号C(6),课程编号C(6),平时成绩N(5,1),; 期末成绩N(5,1),FOREIGNKEY学号TAG学号REFERENCES学生档案表1)修改表的结构【例5-3】为“学生成绩表1”增加一个“总评成绩”字段,并为该字段设置有效性规则。 ALTERTABLE学生成绩表1ADD总评成绩N(5,1)CHECK总评成绩<=100; ERROR"总评成绩不能超过100分"DEFAULT80 【例5-4】修改“学生成绩表1”的“平时成绩”字段的宽度。 ALTERTABLE学生成绩表1; ALTER平时成绩N(4,1)CHECK平时成绩<=100; ERROR"平时成绩不能超过100分"DEFAULT80修改表的结构【例5-5】删除“学生成绩表1”中的“总评成绩”字段的有效性规则。 ALTERTABLE学生成绩表1ALTER总评成绩DROPCHECK 【例5-5】修改“学生成绩表1”中的“平时成绩”字段的默认值。 ALTERTABLE学生成绩表1ALTER平时成绩SETDEFAULT90修改表的结构【例5-7】把“学生档案表1”中的“所在系”字段的名称改为“系别”。 ALTERTABLE学生档案表1RENAME所在系TO系别 【例5-8】删除“学生档案表1”中的“团员否”字段。 ALTERTABLE学生档案表1DROP团员否 【例5-9】将“学生成绩表1”中的“学号+课程编号”定义为主索引,索引标识为XHKC。 ALTERTABLE学生成绩表1ADDPRIMARYKEY学号+课程编号TAGXHKC删除数据表插入记录【例5-11】向“学生成绩数据库表”中添加新记录 INSERTinto学生成绩数据库表values("0899031122","020212",28.0,90.0,80) INSERTinto学生成绩数据库表(学号,课程编号)values("0123311123","020213")插入记录【例5-12】定义数组A(7),利用该数组向“学生档案表”中添加新记录。 DIMENSIONA(7) A(1)="030222" A(2)="张洪" A(3)="男" A(4)=450 A(5)="计算机系" A(5)={^1983/01/27} A(7)=.T. INSERTINTO学生档案表1FROMARRAYA(7)更新记录【例5-13】在“学生成绩数据库表”中,使所有总评成绩等于“平时成绩”加上“期末成绩”的百分之七十。 UPDAT