给自己看的,以防遗忘。sqlite 是一个开源的嵌入式关系数据库。他非常简单。实现自包容、零配置、支持事务的sql数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。 与其他数据库管理系统不同,sqlite 的安装和运行非常简单,在大多数情况下 - 只要确保sqlite的二进制文件存在即可开始创建、连接和使用数据库。如果您正在寻找一个嵌入式数据库项目或解决方案,sqlite是绝对值得考虑。在sqlite的官方文档中是这样解释的,我们不要将sqlite与Oracle或Postgresql去比较,而是应该将它看做fopen和fwrite。
在 windows 上安装 sqlite
请访问 sqlite 下载页面(http://www.sqlite.org/download.html),从 windows 区下载预编译的二进制文件。
您需要下载 sqlite-tools-win32-.zip 和 sqlite-dll-win32-.zip 压缩文件。创建文件夹 C:\sqlite,并在此文件夹下解压上面两个压缩文件,将得到 sqlite3.def、sqlite3.dll 和 sqlite3.exe 文件。
如果你计划发布基于 sqlite 数据库的应用程序,你还需要下载源码以便编译和利用其 API
sqlite-amalgamation-
#include "stdafx.h"#include "sqlite3.h"static int callback(voID *NotUsed,int argc,char **argv,char **azColname){ int i; for(i=0; i<argc; i++){ printf("%s = %s/n",azColname[i],argv[i] ? argv[i] : "NulL"); } printf("/n"); return 0;}#define CHECK_RC(rc,szInfo,szErrMsg,db) if(rc!=sqlITE_OK) / {printf("%s error!/n",szInfo);/ printf("%s/n",szErrMsg); / sqlite3_free(szErrMsg); / sqlite3_close(db); / return 0;}int _tmain(int argc,_TCHAR* argv[]){ sqlite3 *db; char *dbPath="f:/test.db"; char *szErrMsg = 0; int rc= sqlite3_open(dbPath,&db); CHECK_RC(rc,"open database",db); char *szsql="create table UserInfo(ID int primary key,Username char,PassWord char);"; rc=sqlite3_exec(db,szsql,0,&szErrMsg); CHECK_RC(rc,"create table",db); rc=sqlite3_exec(db,"insert into UserInfo(ID,Username,PassWord) values(1,'kfqcome','123456')","insert info",PassWord) values(2,'miss wang','654321')",db); szsql="select * from UserInfo"; rc = sqlite3_exec(db,callback,"query values",db); sqlite3_close(db); getchar(); return 0;}#ifndef _MSVC_H_#define #endif
sqlite,是一款轻型的关系数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
小巧,方便,简单容易学
1.
零配置。sqlite3不用安装,不用配置,不用启动,关闭或者配置数据库实例。当系统崩溃后不用做任何恢复 *** 作,再下次使用数据库的时候自动恢复。
(使用sqlite 一个好处是不用依赖使用其它DB,而且基本不需要担心DB server 崩溃了你的程
序就跟着挂了。)
支持标准sql;
无中间服务器;sqlite数据库没有中间服务器进程。
在使用sqlite时,访问数据库的程序直接在磁盘上的数据库文件读写。
紧凑(compactness):
sqlite是被设计成轻量级,自包含的。一个头文件,一个lib库,你就可以使用关系数据库了,不用任何启动任何系统进程。一般来说,整个sqlITE库小于225KB。
可移植(Portability)
2.sqlite是一种嵌入式数据库,它跟微软的Access差不多,只是一个.db格式的文件。但是与Access不同的是,它不需要安装任何软件,非常轻巧。很多软件都有用到这个家伙,包括腾讯QQ、迅雷(你在迅雷的安装目录里可以看到有一个sqlite3.dll的文件,就是它了),以及现在大名鼎鼎的androID等。sqlite3是它的第三个主要版本。就是sqlite3.0的意思。对了,金山词霸也有用到sqlite,其实太多软件用那玩意儿了。
最大特点:采用无数据类型,所以可以保存任何类型的数据,sqlite采用的是动态数据类型,会根据存入值自动判断。sqlite具有以下五种数据类型:
绿色软件;
1.NulL:空值。
2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。
3.REAL:浮点数字,存储为8-byte IEEE浮点数。
4.TEXT:字符串文本。
5.BLOB:二进制对象。
但同样的,这样的做法会导致在插入和修改时,要花去更多的时间。
QliTE的缺点:
1:sqlITE不可储存过多的数据库,它的性能发挥最好只能在存放较小的数据量情况下。不要把它当做MysqL甚至ORACLE来使用。它只是一个200K的数据库。
3.11 dll:804 KB
单一文件
所谓的“单一文件”,就是数据库中所有的信息(比如表、视图、触发器、等)都包含在一个文件内。这个文件可以copy到其它目录或其它机器上,也照用不误。
很多第三方封装类,比如:
sqliteWrapper(http://www.adp-gmbh.ch/sqlite/wrapper.html),Cppsqlite(http://www.codeproject.com/Articles/6343/CppSQLite-C-Wrapper-for-SQLite/)。比较好用。 也有很多可视化的数据库管理工具,比如:sqlite Expert。
以上是内存溢出为你收集整理的SQLite 使用入门全部内容,希望文章能够帮你解决SQLite 使用入门所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)