一、数据库概述
Excel能够胜任大部分的数据处理,但是有3种情况你不得不使用数据库:
1. 你拿到的文本文件有超过1,048,576行数据,不能放在Excel的一张表里面
2. 你拿到的数据就是放在数据库文件里面
3. 你要使用公司已有的数据库
有的公司可能使用SQLServer、FoxPro等数据库,不过原理都是差不多的。如果你能学好Access,那么不需要多少时间就能适应其他数据库的使用。这里只就Access来说数据库。跟Excel一样,你可以按F1打开帮助页面,搜索你想知道的东西。
二、基本对象和操作
表(Table):表是数据库中最基本的对象,你可以在设计视图设置字段属性,这里的数据类型跟Excel中的数据类型大体上一样。
查询(Query):查询可以等同于一段SQL语句,它既可以是对表的操作,也可以是从现有的表提取出的一张虚拟表。虚拟表就是说你看到的数据并不在数据库中存储,而是在你执行查询的时候临时存在,并且每次打开这种虚拟表的时候SQL语句都被重新执行。当你将查询定义为一张虚拟表的时候,它又可以跟表一样被其他查询引用。
压缩数据库:当你删除表或表中的数据时,数据库体积并不会立即变小,只有你压缩数据库的时候这些空间才真正被释放出来。这对于Access尤其重要,因为它的体积不允许超过2GB。
导入数据:我们经常需要从文本文件或者Excel文件导入数据,你可能在这个步骤遇到很多问题。先设计表再导入数据可以避免一些问题。选择合适的语言编码可以解决乱码的问题,将文本文件导入Excel时同样适用。
从Access创建链接表:Access文件不能超过2GB,如果你需要交叉查询2个1.5GB的表,可以先将2张表分别存在两个Access文件,然后在第3个Access文件中创建它们的链接。这样第3个文件的体积是很小的。
三、SQL(Structured Query Language)
用Access不用SQL,就像用Excel不用公式。
查询的核心是对数据的增(Insert)、删(Delete)、查(Select)、改(Update)。条件筛选(Where)以及分组(Group)也经常用到。
你可以从这个网站系统地学习SQL:http://www.w3school.com.cn/sql/
为了学好SQL,建议你用SQL视图设计查询,而不用设计视图。设计视图我一般只用来设置显示格式。
Access中可以写VBA函数然后用于SQL,这对于简化SQL语句非常有帮助。自定义的VBA函数在Excel和Access中可以通用。而某些Excel自带函数在Access SQL中不能用,让你不得不自己写。比如这个
Public Function Datedif2%(ByVal D1 As Date, ByVal D2 As Date)
Datedif2 = Year(D2) - Year(D1)
If Month(D2) < Month(D1) Or (Month(D2) = Month(D1) And Day(D2) < Day(D1)) Then Datedif2 = Datedif2 - 1
End Function
更多内容:
准备精算实习1——泛泛而谈
准备精算实习2——Excel