最近要进行数据的处理和分析,数据量比较大,无法使用EXCEL存储,于是打算使用数据库存储和计算。说到数据库,以前使用过Mssql、Mysql以及ACCESS,这些数据库都比较大,安装起来麻烦,而且ACCESS不支持COUNT DISTINCT计算,于是打算使用一个比较小的,而且单机使用的数据库,经过上网查询了解到了SQLite数据库。
SQLite数据库是一款非常小的关系型数据库,只有几兆,麻雀虽小五脏俱全,支持事务处理,直接下载不用安装和配置,使用起来非常方便。支持各种编程语言的连接,下面是使用的情况:
1 下载和安装
从SQLite官网直接下载数据库即可,以win10操作系统为例,需要下载两个文件,一个是SQLite数据库的DLL文件,另一个是用于管理SQLite数据库的工具。两个文件下载完成之后,将两个文件解压出来的文件全部放到一个文件夹,为了使用方便,将该文件夹放到C盘,命名为SQLite,以下是该文件夹里面的具体内容:
sqlite3.def
sqlite3.dll
sqlite3.exe
sqlite3_analyzer.exe
sqlite3diff.exe
至此,数据库可以直接使用了,无需其它安装过程,为了使用方便,可以将该目录设置为CLASSPATH环境变量,这样下次不用再到该目录下运行数据库。
2 执行SQL语句
第一步,创建数据库,直接输入sqlite.exe加数据库名称即可,不用像其它数据库一样使用create database name。
C:\SQLite\sqlite.exe data.db
第二步,创建表格,创建表格类似其它数据库,使用create table 命令,后面跟上具体表格的列名以及数据类型。
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
第三步,插入数据以及查询,使用INSERT插入数据,使用SELECT查询数据,与其它数据库并无区别。
其它,退出数据库,使用.quit命令退出SQLite数据库。
另外,SQLite数据库虽然很小,但是支持事务处理,因此此次也顺便尝试了SQLite数据库的事务处理功能。所谓事务,就是可能访问或操作各项数据的一个序列,这些操作要么全部执行,要么全部不执行。比如转账就是一个事务,需要先查询A帐户的余额,然后从A帐户扣钱,B帐户加钱,这些操作就是一个序列,要么全部执行,要么都不执行,事务机制的出现,是为了保持数据的完整性和一致性。
事务具体四个属性,也就是常说的ACID:
事务(Transaction)具有以下四个标准属性,通常根据首字母缩写为 ACID:
原子性(Atomicity):确保工作单位内的所有操作都成功完成,否则,事务会在出现故障时终止,之前的操作也会回滚到以前的状态。
一致性(Consistency):确保数据库在成功提交的事务上正确地改变状态。
隔离性(Isolation):使事务操作相互独立和透明。
持久性(Durability):确保已提交事务的结果或效果在系统发生故障的情况下仍然存在。
SQLite数据库事务处理的命令:
开始一个事务(两种都可以):
BEGIN;
BEGIN TRANSACTION;
回滚操作:
ROLLBACK;
提交事务(两种都可以):
COMMIT;
END TRANSACTION;
这个数据库还是比较强大的!开发手机软件使用的数据库基本上都是他了。