第六章计算机二级Word文档格式.docx

上传人:b****5 文档编号:15765914 上传时间:2022-11-16 格式:DOCX 页数:7 大小:30.55KB
下载 相关 举报
第六章计算机二级Word文档格式.docx_第1页
第1页 / 共7页
第六章计算机二级Word文档格式.docx_第2页
第2页 / 共7页
第六章计算机二级Word文档格式.docx_第3页
第3页 / 共7页
第六章计算机二级Word文档格式.docx_第4页
第4页 / 共7页
第六章计算机二级Word文档格式.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

第六章计算机二级Word文档格式.docx

《第六章计算机二级Word文档格式.docx》由会员分享,可在线阅读,更多相关《第六章计算机二级Word文档格式.docx(7页珍藏版)》请在冰豆网上搜索。

第六章计算机二级Word文档格式.docx

第二节:

数据定义

1、库文件和表文件的建立

建库文件:

creadatabase学生管理

modidatabase(此时可以见到数据库设计器)

建表文件:

有数据库打开的时候,所建立的表是数据库表,如果想建立自由表,在建表时要在表文件名后加上free.

例1在打开数据库设计器时,比较以下两条命令的操作结果。

Createtableabcfree(snoc(5),snamec(6))

Creatableabc(snoc(5),snamec(6))

例2建立一个名为temp的表,该表字段情况为:

学号c(5),姓名c(8),性别c

(2),出生日期d,其中学号和姓名字段不能为空)

creatabletemp(学号c(5),姓名c(8),;

性别c

(2)null,;

出生日期dnull)

在vf中,字段默认是不允许为空值的,所以对于不允许为空值的字段,notnull可以省略不写。

另外,在输入空值的时候需要使用ctrl+0

例3:

以第五章为例,建立学生管理数据库,要求有学生、选课、课程,共3张表。

creadatabase学生管理(建立数据库)

creatable学生(学号c(6)primarykey,;

姓名c(8),性别c

(2),籍贯c(6),;

入学成绩n(5,1)check(入学成绩>

=480)error'

入学成绩至少为480分'

;

少数民族l,简历m,照片g)

在学生管理数据库中建立学生表。

字段名及宽度如命令中所示,注意字段名和字段类型中间有空格,一行写不下时加分号换行。

Primarykey表示学号为主关键字,check是字段有效性规则,error为报错信息。

 

creatable课程(课程号c(6)primarykey,课程名c(20),学分n

(1))(建立课程表)

creatable选课(学号c(6),课程号c(6),成绩n(2,0);

check(成绩>

=0.and.成绩<

=100)error'

成绩范围是0--100'

default60,;

foreignkey学号tag学号references学生,;

foreignkey课程号tag课程号references课程)

对于选课表的建立,还有另一种写法

creatable选课(学号c(6)references学生,;

课程号c(6)references课程,;

成绩n(2,0);

default60)

对于选课表的成绩字段,除了字段有效性和报错信息之外,还设置了默认值;

并且说明了学号和课程号都是外部关键字,它们分别参照学生表和课程表里的学号和课程号字段。

2、表文件的删除

例1:

删除学生管理数据库中的选课表

Opendatabase学生管理

Droptable选课

说明:

将指定的表文件从磁盘上删除。

如果要删除数据库表,最好先将该库文件打开。

否则,表文件虽然被删除,但在数据库中仍然可以看到该表文件存在,使用该表时,系统会提示出错。

3、修改表结构

修改字段类型及宽度

altertable选课alter成绩c(4)

将成绩字段由原来的n(2,0)修改为c(4)

增加或修改字段

altertable课程add学时icheck(学时>

=34)error'

至少需要学时34'

default51

为课程表增加学时字段,该字段为整型,至少34默认51

altertable课程alter学时n(2,0)check(学时>

=16)error'

学时至少16'

default34

将课程表的学时字段修改为数值型,并且修改字段有效性规则及默认值

注意:

对于一个刚建立好的空表(没有记录的表),vf不会去检查字段有效性,因此check条件可以任意写,但对于一个有记录的表文件,如果声明了check条件,那么最好要加上default,而且default必须符合check条件要求,否则vf报错(因为vf认为新加的字段不符合check条件的限定)。

上机实验时,可以在一个已经建好的数据库(比如之前的学生管理数据库)中给课程表加字段。

例如:

=80)error'

学时至少80'

default80

可以发现,第一条命令为课程表添加了一个学时字段,而第二条命令修改了学时字段的字段有效性,但第三条命令无法执行下去。

因为之前的学时默认值是34,无法满足大于等于80的要求。

定义、修改、删除字段有效性规则

altertable课程alter学时dropcheck

将课程表中学时字段的字段有效性规则删除,保留默认值,如果想实现刚好相反的效果,可以将dropcheck换成dropdefault

删除字段:

altertable课程drop学时

第三节:

数据查询

1、命令语法

Select要查询的字段或表达式from字段的来源where查询条件

2、基本查询

Select*from学生显示学生表的全部信息

select学号,姓名,籍贯,出生日期from学生显示学生表的指定字段

sele姓名as学生名单,year(date())-year(出生日期)as年龄from学生

sele学号,姓名,round(入学成绩,0)as考试成绩from学生

seleavg(入学成绩)as入学成绩平均分from学生

seleround(avg(入学成绩),0)as入学成绩平均分from学生

sele性别,count(*)as学生人数from学生groupby性别

3、条件查询

sele姓名,入学成绩from学生where少数民族and性别='

女'

sele*from学生where籍贯in('

云南'

'

陕西'

sele*from学生where籍贯='

or籍贯='

以下3条命令是等价的

1、sele*from学生where籍贯!

='

2、sele*from学生where籍贯<

>

'

sele*from学生where籍贯#'

3、sele*from学生wherenot(籍贯='

sele*from学生where入学成绩between565and575

sele*from学生where入学成绩>

=565and入学成绩<

=575

xbetweenaandb等价于x>

=aandx<

=b即x∈[a,b]

1、sele*from学生where姓名like'

胡%'

2、sele*from学生wheresubstr(姓名,1,2)='

胡'

3、sele*from学生where姓名="

王"

考虑:

将条件换成where姓名=="

或where姓名='

会是什么情况?

4、嵌套查询

当一个select语句无法完成查询任务时,有时需要将一个子select语句的返回值作为主select语句的查询条件。

(1)返回单值的子查询

例:

查询选修“数据库原理”的所有学生的学号

分析:

选课表中有学号和课程号,可以根据课程名找到课程号。

数据库原理是个课程名(存放在课程表中),而课程号也在课程表中

sele学号from选课where课程号=;

(sele课程号from课程where课程名='

数据库原理'

先从课程表里找出数据库原理的课程号,再从选课表里根据所得到的课程号找出学号。

假设有一个表s,其中有学号和年龄字段。

查询所有比张三年龄大的学生的学号

Select学号fromswhere年龄>

(select年龄fromswhere姓名=’张三’)

(因为子查询只返回了一个值,因此称为返回单值的子查询)

(2)返回一组值的子查询

列出选修‘01101’的学生中成绩比选修’01102‘的最低成绩高的学生的学号和成绩。

(找出选修数据库原理的成绩比选修软件工程的最低分成绩高的)

sele学号,成绩from选课where课程号='

01101'

找出选修01101课程的学生

sele成绩from选课where课程号='

01102'

找出选修01102课程的学生

and成绩>

any;

(sele成绩from选课where课程号='

该命令还可以写成如下形式:

sele学号,成绩from选课where课程号=;

(sele课程号from课程where课程名='

)and成绩>

(sele成绩from选课where课程号='

这个形式的意思是找出选修数据库原理的成绩比选修01102的最低分成绩高的学生的学号和成绩。

(sele成绩from选课where课程号=;

(select课程号from课程where课程名='

软件工程'

))

这个形式的含义是对的。

但是嵌套了两层(蓝色部分是第一层嵌套,褐色部分是第二层嵌套)。

Vf只支持一层嵌套,所以这个命令无法执行。

列出选修‘01101’的学生,要求这些学生的成绩比选修‘01102’课程的最高成绩还要高的学生的学号和成绩

select学号,成绩from选课where课程号='

all;

(select成绩from选课where课程号='

列出选修‘数据库原理’或‘软件工程’的所有学生的学号

select学号from选课where课程号in;

or课程名='

软件工程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 中职中专

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1