access如何创建数据库(ACCESS数据库设计SQL语句)

Access数据库

Access是Micsoft司推出的Office系列办自动化软件的一个组件

它是一个小型的数据库。

它广泛应用于、行政。统计和审计等众多领域。

在1992年11月Micsoft司推出了个供个人使用的关系数据库Access 1.0

此后Access不断地改进和优化,从1995年开始,Access作为Micsoft Office套装软件的一部分,先后推出了多个版本

目前比较好用,而且比较稳定的版本是Access 2010

你在安装Office 2010后,便可启动Access数据库:

“开始”→“所有程序”→“Micsoft Office”

“Micsoft Access 2010”命令,启动Access 2010。

Access数据库创建表

在Access 2010中,它给我们提供了六大数据库对象,Access的主要能就是通过这六大数据对象来完成的:

表(Table)

查询(Query)

窗体(Form)

报表(Report)

宏(Mac)

模块(Module)

创建数据表的方式有以下几种:

1、通过粘贴创建数据表

首先创建了一个空的数据库,找到保存到的路径,双开:

点击 “创建”选项卡:

选择“表”后,出现了表1,这个就是我们创建的表了,但它是一个空的表:

这个空的表默认的表名就是表1,当然,我们可以给它改成其它的我们便于识别的名字,下面这个就是了:

点击确定:

从Excel表里面取个现成的数据:

后粘贴:

上面这个数据表已经不是普通的数据表了,它是以数据库的形式存在数据表里面,我们可以用数据库命令对这个数据表进行相应作了。

2、通过导入外部数据创建数据表

Access数据库也可以通过导入外部数据的方式来建立数据表。

首先,点击“外部数据”选项卡,大家可以看到,供我们导入数据的文件格式有Excel文件、Access文件、文本文件、文件格式等等。

在其它文件格式当中,常用的就是一个dBASE文件,它是VF数据库格式,它的扩展名是.dbf

也可以直接导入Excel文件当中的数据:

点击确定:

选中一个数据表:

下一步:

可以添加主键,也就是前面ID那个字段,它就会自动有个编,所谓的主键,就是不能有重复,它的作用是方便以快的速度找到想要的行数据:

输入刚刚导入数据表的名称即可:

也可以导入文本文件,点击“外部数据“选项卡下的“文本文件”:

找到要导入文本文件所在的路径:

点击确定,选择“带分隔符”项:

点击下一步:

继续下一步:

点击下一步:

还可以导入VF数据库文件,实际就是将别的数据库格式文件的数据直接移植到ACCESS数据库

点击“外部数据”选项卡下的“”,一项dBASE文件就是导入VF数据格式的文件:

点击后,选择好路径:

然后点击确定就OK了:

Access数据库查询

Access为你提供了几种不同类型的查询,主要分为两大类:选择查询和作查询

在进行查询前,我们首先要明确我们的目的,也就是你想要一个什么样的结果?

知道我们想要什么了,才能进一步写查询语句。

例如,让处统计一下哪个班级的英语平均成绩好?哪个班级语文平均成绩好?

要统计这个数据,主要分以下几步:

步:创建查询

点击“创建”选项卡的查询设计:

关闭单击右键“SQL视”

第二步:写查询语句

Select 班级,avg(英语分数),avg(语文分数)
Fm学生成绩表4
gup by 班

Select:查询;

班级,avg(英语分数),avg(语文分数):这三个就是我们要的结果,avg是平均的缩写

Fm学生成绩表4:这里是从“学生成绩表4”里面查

gup by 班级:gup by是分组的,就是按哪个字段进行分类

第三步:运行

红的“叹”就是运行

出现下面这个统计结果

列是英语平均分

第二列是语文平均分

可以为每个字段加一个别名,As后面接的是一个别名,

也可以把它看作是一个代

这个别名是为了让你能够识别“avg(英语分数)”和 “avg(语文分数)”的

Select 班级,avg(英语分数) as 英语平均分,avg(语文分数)  as 语文平均分
Fm学生成绩表4
gup by 班

查询结果有变化:

可以保存这个查询:

常用的选择查询可以归纳以下几种类型

种查询语句:

Select *
fm 学生成绩表4

它的意义就是查询“学生成绩表4”中所有的数据,下便是:

运行之后,就出现下这样的结果,和“学生成绩表4”中的数据一模一样。

第二种查询语句:

  Select *
fm 学生成绩表4
where 英语分数>=60

较之前多了where 英语分数>=60,就是表示加了条件限制,只查询英语成绩及格的数据,where后面接的就是限定条件。

运行之后,就出现下这样的结果,显示的只是英语成绩及格的人员,不及格的不显示。

第三种查询语句:

Select 班级,avg(英语分数)
fm 学生成绩表4
where 英语分数>=60
gup by 班级

较之前多了“gup by 班级”,而且把“*”改成了“班级,avg(英语分数)”,就是表示对不同班级进行分组查询,而且只查询及格人员的平均成绩,也就是中上等学生之间的比较,把不及格人员排除在外了。

运行后,是下这样的结果,显示了不同班级英语成绩及格学生的平均分数。

可以看到二班及格学生的英语平均成绩

二班中上等生的英语成绩要普遍高于其它班级的中上等生

Access数据库查询语句几个常用的统计函数

1、avg函数

这个比较熟悉,就是取字段的平均值:求每个班级语文的平均分:

Select 班级,avg(语文分数)
fm 学生成绩表
gup by 班级

运行结果:

2、sum函数

这个函数和我们Excel里面的比较类似,它就是求和函数,求每个班级语文的总分:

Select 班级,sum(语文分数)
fm 学生成绩表
gup by 班级

运行结果:

3、count函数

统计记录数,求每个班级的学生人数:

SELECT 班级, count(学)
FROM 学生成绩表
GROUP BY 班级;

运行结果:

4、x函数

取字段大值,求每个班级的语文分:

SELECT 学, x(语文分数)
FROM 学生成绩表
GROUP BY 学;

运行结果:

5、min函数

取字段小值,求每个班级的语文低分:

运行结果:

查询语句中where和having的条件用法

where和having在查询语句中的作用都是条件限制

它们在查询语句中的位置是不一样的,而且限制的内容也不一样

1、所处位置不一样

在查询语句中where作为普通条件限制,它是在gup by 之前

SELECT 班级, avg(语文分数) AS 语文平均分
FROM 学生成绩表
WHERE 英语分数>=60
GROUP BY 班级

而having是一个过滤声明,是在查询返回结果集以后对查询结果进行的条件限制,位置是在gup by 之后

SELECT 班级, avg(语文分数) AS 语文平均分
FROM 学生成绩表
WHERE 英语分数>=60
GROUP BY 班级
HING avg(语文分数)>=60;

2、后接内容不一样

在查询语句中where后面只能接普通条件,不能接聚合函数条件

所谓的聚合函数就是我们上提到的函数都可称为聚合函数

下面where后这样写是错误的:

SELECT 班级, avg(语文分数) AS 语文平均分
FROM 学生成绩表
WHERE avg(语文分数)>=60//错误
GROUP BY 班级

在查询语句中having作为查询结果返回后的条件限制,需要接返回结果后的条件

下面having后这样写是错误的,因为返回结果已经不存在“英语分数”这个字段了:

SELECT 班级, avg(语文分数) AS 语文平均分
FROM 学生成绩表
WHERE 英语分数>=60
GROUP BY 班级
HING 英语分数>=60;//错误

3、运行结果不一样

在where后接的条件表示要在英语成绩及格的学生中进行统计

统计这些学生的语文成绩怎么样

从下面的结果可以看到:

在一班英语及格的学生中语文成绩并不好平均成绩没有达到及格线

而其它班级英语和语文成绩都较好。

而having后加了个条件是avg(语文分数)>=60

这表示在统计结果中只显示平均成绩及格的班级,不及格的班级不显示

从结果看以看到:

下面这个结果较之前少了一个班级,就是一班,因为一班语文平均成绩没及格

同时查询多个表

下面这个数据库有两个成绩单

一个是期中考试

一个是期末考试

要看一看学生成绩有没有进步:

创建一个查询,并写上下面的查询语句:

SELECT A.学, A.姓名, A.英语分数 AS 其中英语分, B.英语分数 AS 其末英语分
FROM 基信息 AS A, 期末考试 AS B
WHERE A.学=B.学;

SELECT:后面接的就是我们想要的信息,如学,姓名,期中英语分,期末英语分;

FROM:后面接的就是涉及的表名,这里面我们就涉及两个表,一个是“期中考试”,一个是“期末考试”;

WHERE:后面接的就是限定条件,因为我们查的是两个表,而这两个表必须有一个纽带能够联系到一起,而这个纽带就是学生的学,因为每个学生的学是的,并没有重复,所以,我们查询两个表的时候必须找到一个纽带,这个纽带不能重复,否则我们无法准确的区分学生的成绩。

运行之后,得到下面的结果:

可以看到,赵风车的成绩下降的快,期中考了70分,而期末考了35分

人的成绩有上较快的,刘玲的成绩由30分上到76分

这样每个学生的成绩就一目了然了,无论涉及几个表,只要找到这几个表共有的纽带,就可以查询每个表相对应的信息了。

简单的嵌套查询

先来看下面这个简单的查询:

SELECT 班级, avg(英语分数) AS 英语平均分, avg(语文分数) AS 语文平均分
FROM 学生成绩表4
GROUP BY 班级;

运行结果是:

下面这个就是嵌套查询了:要看一下哪个班级英语平均分和语文平均分都及格了?

SELECT *
FROM (SELECT 班级, avg(英语分数) AS 英语平均分, avg(语文分数) AS 语文平均分 FROM 学生成绩表y GROUP BY 班级)  AS [%$##@_Alias]
WHERE 英语平均分>=60 AND 语文平均分>=60;

运行结果是这样的,可以看到只显示两门成绩都及格的班级。

结语:觉得有用的请关注、转发、收、点赞!


上一篇: 苹果手机如何循环充电设置(完全循环充电的使用方法方式iphone)
下一篇: 返回列表

为您推荐