Access操作:基础知识与文件导入

首先,回顾一下数据分析的三大作用:

  • 现状分析
    告诉我们过去发生了什么
  • 原因分析
    告诉我们为什么发生
  • 预测分析
    告诉我们将来会发生什么

为什么不继续采用Excel作为数据分析的工具呢?
因为Excel对数据行和列数都有限制。现在数据动不动就是几百万条,Excel已经满足不了数据处理与分析的需求了!

一、数据库的那些事儿

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。它利用数据库中的各种对象,记录、处理和分析各种数据。
一个通用数据库具有以下几项基本功能:

  • 向数据中添加新数据记录,例如增加用户注册信息;
  • 编辑数据库中的现有数据,例如修改某个用户信息;
  • 删除数据库中的信息记录,例如删除失去时效性的数据,以释放存储空间;
  • 以不同方式组织和查看数据,例如对数据进行查询、处理和分析。

总之,数据库可以实现对数据的增删改查。

二、Access数据库

Access数据库是Microsoft Office办公软件的一个重要组成部分,是一种关系型数据库管理系统软件,数据处理给你比Excel更胜一筹。
在Access中,数据库窗口包含“表”、“查询”、“窗体”、“报表”、“宏”等对象。

  • “表”用来存储数据;
  • “查询”用来查找数据;
  • “窗体”、“报表”用来获取数据;
  • “宏”则用来实现数据的自动化操作。

Access数据库作为Microsoft Office的一员,还可以与Excel、Word、PowerPoint、Outlook等软件进行数据的交互与共享。

Access进行数据处理于分析,主要用到的对象是:表和查询。

1. 表

表是数据库最基本的组成单位。建立和规划数据库,首先要做的是建立各种数据表。数据表是数据库中存储数据的唯一单位,数据库将各种信息分门别类地存放在各种数据表中,例如用户信息表、订单表、采购表等。

2. 查询

查询是数据库中应用最多的对象之一,可执行很多不同的姑娘,最常用的功能是根据指定条件从表中检索数据。

查询和表的区别在于,查询中的所有数据都不是真正单独存在的。查询实际上是一个固定的筛选,它根据指定条件将表中的数据筛选出来,并以表的形式返回筛选结果。

3. 为什么用Access数据库?

Access数据库于Oracel等其他关系型数据库相比具有以下两大优势:

  1. 操作界面友好,易操作
    Access与Excel、PowerPoint、Word都是微软Office产品,只要熟悉其中的任意一款软件,即使没有数据库经验,对Access也能快速上手。Access还可以与Office其他软件集成,实现无缝链接。
  2. Access查询处理可以直接生成相应的SQL语句
    通过Access查询想到设置好需要的表关联及查询条件,单击“SQL视图”,即可获取相应的SQL语句,无须重新编写。在此基础上,还可以进行简单的调整、优化,即可转化为所需的SQL语句,方便快捷。

当然,Access是小型数据库,于Oracel等其他关系型数据库相比存在以下的不足:

  • 数据过大时(一般Access数据库文件百兆以上),其性能会变差。
  • 记录数过多时(一般记录数达到千万条以上),其性能会变差。
  • Access数据库中,每个数据库文件上限为2GB。

三、万能的SQL

SQL(Structured Query Language)是结构化查询语言,它是一种通用的关系型数据库操作语言。简单来说,就是让数据库按我们的意思来实现查询操作的语言。
目前所有主要的关系数据库管理系统都支持SQL,虽然Access数据库大部分查询都可通过菜单完成,不需要用到SQL语句,但是如果想真正利用Access数据库强大的数据处理、分析能力,那么掌握SQL是非常必要的。

1. 基本语法

在这里插入图片描述
我们做数据分析时,在数据库中主要的操作是数据合并、数据分组、数据去重等,这些操作都是通过查询来完成的。因此,**数据查询是数据库的核心操作。**在SQL查询语言中有一条查询命令——SELECT语句。
SELECT语句是SQL的核心语言,它能完成强大的查询功能,根据指定的条件规则从数据库中查询所要的数据。SELECT语句的基本语法是:

SELECT 字段1,字段2,字段3,……
FROMWHERE 条件

示例:父母对孩子催婚,并且已经物业到了对象。中介所的工作人员从他们的会员数据库中按父母的要求筛选出目标人选,供他们进一步选择,婚介所的工作人员会在他们的数据库命令窗口写下如下SQL语句:

SELECT 姓名,性别,年龄,身高,婚姻状况,教育背景,月收入,是否有房,是否有车,备注
FROM 会员表
WHERE 性别 = '男'
AND 年龄 BETWEEN(26,30)
AND 身高 BETWEEN(170,180)
AND 婚姻状况 = '未婚'AND 教育背景 IN ('本科','研究生')
AND 月收入 >=8000
AND 是否有房 = '是'
AND 是否有车 = '是'
AND 备注 IN ('细心','大方','浪漫','英俊','绅士','智慧')

# 筛选出的名单按照月收入降序排序
ORDER BY 月收入 DESC;

2. 注意事项

  1. SQL语句中,英文字母大写或小写均可。
  2. 每个SQL语句的关键字用空格符分隔。例如:
SELECT 字段 FROM
  1. 字段或参数之间用逗号分隔。例如:
SELECT 姓名,性别,年龄,身高,教育背景
FROM 会员表
WHERE 教育背景 IN ('本科','研究生')
  1. SQL语句中如参数为字符型,需要使用单引号,数值型不是用单引号。例如:
SELECT 姓名,性别,月收入
FROM 会员表
WHERE 性别 = '男' AND 月收入 >= 8000
  1. SQL语句结束时,在语句结尾处添加分号。在Access数据库中,用分号结束对SQL语句不是必须的。
  2. SQL语句中如表名、字段名出现空格、“/”、“\”等特殊字符时,需用方括号“[]”将含有特殊字符的表名或字段名括起来,以免得到不正确的结果或SQL语句无法运行。
  3. SQL语句中,“*”代表选择选定表格中的所有字段,并且按照其在数据库中的固定顺序排排序。例如:
SELECT * FROM
  1. 在函数或条件查询中,如果参数或查询条件为日期和时间类型数据,需要在数据值两端加上符号“#”,以表示数据类型为日期型。
  2. SQL语句中使用的逗号、分号、单引号、括号等符号均为英文状态下输入的符号。
  3. 应尽量避免在数据中进行全表扫描。首先应考虑用WHERE子句筛选出需要的数据,其次在WHERE子句中,应尽量避免使用“!=”或“<>”、“OR”等,最后应尽量避免在WHERE子句中队字段进行函数操作,否则将进行全表扫描。

四、Access数据导入

  • 直接导入法
  • 建立链接法

1. 直接导入法

因为数据量大采用Access数据库进行数据处理于分析,而大型数据文件一般以TXT文本形式存储。

  1. 先新建一个空数据库,然后以此选择【外部数据-新数据源-从文件-文本文件】,将文本文件导入。
    在这里插入图片描述
  2. 选中默认的【将源数据到UR当前数据库的新表中】项,单击【确定按钮】。在这里插入图片描述
  3. 接着按照提示与实际情况操作即可。

2. 建立链接法

与直接导入不同的地方在于,在第二步中,更改为【通过创建链接表来链接到数据源】。这种方法是以链接方式建立数据库于源数据的链接关系,所以只要不删除,这个链接关系就一直存在。
在这里插入图片描述
直接导入法:Access数据库中的表与数据源脱离了联系,对数据的更改不会影响源文本数据文件。

建立链接法:链接表显示源文本文件中的数据,但是它实际上并不是将数据存储到数据库中,对源文本文件进行的任何更改都将自动反映到链接表中,即数据会随数据源的变化而自动更新。

刚才的操作步骤中,涉及到两个名词:索引、主键:

  • 索引:相当于对指定的列进行排序,通过它可以快速查询到结果,不需要进行全表扫描,可以大大加快数据库的查询速度。
  • 主键:是确定数据中每一条记录的唯一标识,其实也是一个索引,是一个特殊索引,因为主键所在列的每一个记录都是唯一的,在同一个表中只能有一个主键。
    简单来说,主键就是所在的列不能出现相同记录的特殊索引,且这个索引只能在表里出现一次。

综上,主键与索引有以下4个区别:

  1. 主键用于标识数据库记录的唯一性,**不允许记录重复,且键值不能为空。**主键也是一个特殊索引,主键等于索引,但索引不一定等于主键。
  2. 索引可以提高查询速度,通过它可以快速查询到结果,不需要进行全表扫描。
  3. 使用主键,数据库会自动创建主索引,也可以在非主键上创建索引,提高查询速度。
  4. 数据表中只允许有一个主键,但是可以有多个索引。
发布了35 篇原创文章 · 获赞 4 · 访问量 5282

猜你喜欢

转载自blog.csdn.net/fightingoyo/article/details/105728253
今日推荐