日常工作中需处理大批量数据,通常一个表格就三四十万行记录,用EXCEL处理显得效率低下。而由于版权或操作过于复杂等原因,并非所有公司电脑都安装了ACCESS之类的数据库。
DerbyTool是一个微型数据库,可快速将外部数据导入到内置数据库中,利用数据库高效处理数据,再将结果导出。
DerbyTool既能满足基本的日常工作需要,又能为初学数据库的人使用。我们后续将持续升级本软件。
DerbyTool的核心用法是:将文本格式的数据导入数据库中,利用数据库的高效性处理数据,再将结果导出。
我们使用一个案例来解释DerbyTool的用法。我们将主要精力放在数据的导入、导出上;而中间的处理过程——以后或许会实现更傻瓜化的操作功能——当前恐怕需要您有一些SQL基础了。
1、有一个文本格式的数据文件staff.csv,它用逗号,分割每一列,它的首行是标题行,一些数字字段被等于号=和双引号"包起来(这些字段通常是身份证、物体代码之类,这样做的目的,是为了防止用EXCEL打开时,字段被显示成科学计数法或隐藏了前面的数字0,从而无法表示正确的代码)。可从网盘"DerbyTool"文件夹下的“例子”中下载:http://pan.baidu.com/s/1qWNRmkk
用表格软件打开是这样子的:
2、打开DerbyTool,并打开这个文本数据
3、这个文本数据是以逗号,分割各列,故而在“分割符”那里填写,(也有是用|或;分割,那就填入|或;)。第一列中的=和"只是为了应对用EXCEL打开时不要采用科学计数法而已,并无实质意义,我们希望将这两个符号去掉,所以在“清除字符”中填入=|"(如果要清除多个字符,用竖线符号|分隔,就象这个例子中一样)。
很遗憾的是,第一个版本中的程序不会自动刷新,需要手动点击“刷新表格”按扭。
4、创建一个数据库表staff,用于存储外部文本数据。
在上方的窗格中输入:create table staff(id varchar(20), name varchar(30), birthday date, salary float)
并依次点击工具栏中的“执行SQL命令”、“Commit确认”按扭。
(注意:每执行一个动作,都需要点击“Commit确认”按扭才会真正保存,否则当程序退出时,数据将丢失。)
5、选择我们刚才新建的数据库表staff(如下图所示)。
由于第一行是标题行,我们并不希望导入数据库中,故而“跳过前行”中填入1,表示第1行不导入。
很遗憾的是,这个版本中的“外部数据”不会自动关联数据库表,故而需要再次点击“刷新表格”按扭——必须操作这一步。
6、返回“外部数据”面板,在需要导入数据库的列的标题上点击右键,选择对应的数据表字段。
”去除前后空白“并不实际发挥工作,需待下一版本改进;
最下方面的”yyyyMMdd"为日期时间格式,只有但字段为日期时间时才会发挥作用,其它数据类型则会忽略这个选项
如果是日期格式,则需要根据实际情况修改格式,可参考下图设置,其中:y代表年,M(大写)代表月,d代表日,H代表24小时制的是,h代表12小时制的时,m(小写)代表分,s代表秒。
7、依次输入各列对应的字段后,点击“导入至数据库”按扭“(见上图)。此时,数据就被导入至数据库中,导入的效率很高。在上面的窗格中输入查询命令: select * from staff
可发现数据已被导入
8、如果要将查询结果导出,则点击工具栏中的“执行结果至文件”即可,如下图所示:
9、用表格软件打开刚才导出的结果,如下图所示: