SQLite Getting Started

使用SQLite很简单,不需要读很多文档,也不需要做很多配置。

一、下载源代码 Download The Code

http://www.sqlite.org/download.html下载程序,也可以下载源代码自己编译。

下载Windows下的预编译二进制文件包:

  • sqlite-shell-win32-x86-<build#>.zip
  • sqlite-dll-win32-x86-<build#>.zip

注:<build#>是SQLite的编译版本号。

将 zip 文件解压到你的磁盘,并将解压后的目录添加到系统的 PATH 变量中,以方便在命令行中执行 sqlite 命令。

可选: 如果你计划发布基于 sqlite 数据库的应用程序,你还需要下载源码以便编译和利用其 API
sqlite-amalgamation-<build#>.zip

 

二、创建数据库 Create A New Database

安装好SQLite后,在命令窗口中进入到SQLite3.exe所在的目录,输入以下命令:


  1: D:\SQLite>sqlite3 test.db

注:我的SQLite放在了D:\SQLite中。若配置了环境变量,则可以在命令窗口中直接输入:


  1: sqlite3 test.db

在命令窗口中输入SQL命令,去创建和填写这个新的数据库。

注意: 最少必须为新建的数据库创建一个表或者视图,这么才能将数据库保存到磁盘中,否则数据库不会被创建。

三、使用SQLite编程 Write Programs That Use SQLite

如下所示为怎么使用C/C++接口的简单程序。


  1: #include <stdio.h>
  2: #include <sqlite3.h>
  3:
  4: static int callback(void *NotUsed, int argc, char **argv, char **azColName){
  5:   int i;
  6:   for(i=0; i<argc; i++){
  7:     printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
  8:   }
  9:   printf("\n");
 10:   return 0;
 11: }
 12:
 13: int main(int argc, char **argv){
 14:   sqlite3 *db;
 15:   char *zErrMsg = 0;
 16:   int rc;
 17:
 18:   if( argc!=3 ){
 19:     fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
 20:     return(1);
 21:   }
 22:   rc = sqlite3_open(argv[1], &db);
 23:   if( rc ){
 24:     fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
 25:     sqlite3_close(db);
 26:     return(1);
 27:   }
 28:   rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);
 29:   if( rc!=SQLITE_OK ){
 30:     fprintf(stderr, "SQL error: %s\n", zErrMsg);
 31:     sqlite3_free(zErrMsg);
 32:   }
 33:   sqlite3_close(db);
 34:   return 0;
 35: }                                                                            

数据库的名称由第一个参数指定,第二个参数可以是一个或多个SQL语句。需要注意的是在22行调用函数sqilte3_open()用来打开数据库。28行调用的函数sqlite3_exec()是用来执行SQL命令。33行调用函数sqlite3_close()用来关闭数据库。

关于SQLite更多的C/C++接口函数可以参考《Introduction To The SQLite C/C++ Interface》。

时间: 2024-09-12 11:49:33

SQLite Getting Started的相关文章

ios-IOS的SQLite查询数据,如果没有对应数据的话,应该怎么获取到这个信息

问题描述 IOS的SQLite查询数据,如果没有对应数据的话,应该怎么获取到这个信息 RT,求解. 我是用本地的数据库,数据都是已经固定了的,根据编号显示数据,如果数据中没有编号,我想设置弹出一个提示,但是我不知道怎么获取查不到数据的这个信息 解决方案 select count(*) from table where 条件 返回0表示没有数据

解决sqlite死锁示例异常database is locked

/* * sqlite的连接方式实际上为单连接方式,即使实用多线程也是用的一个连接 * getWritableDatabase()和getReadableDatabase()都为synchronized方法,但不是static方法 * 所以都只对同一个对象起同步作用,对于不同的对象没有任何作用 * 所以使用sqlite的时候可以提供一个单一的入口,防止多对象修改数据库而造成死锁 * 所以可以提供一个static的instance对象+它的get方法, * 连接可一直挂着,即使多次调用getWri

sqlite删除数据库中的数据时偶尔会出现错误

问题描述 sqlite删除数据库中的数据时偶尔会出现错误 java.lang.IllegalStateException: Cannot perform this operation because the connection pool has been closed. 求助,connection pool 是啥啊,求大神指教. 解决方案 如果确定不是连接被关闭,那还有可能就是多线程访问sqlite,sqlite数据库是单线程操作的,那么当N多个Thread同时调用的时候,可能报这错误.这也就

[Android] SQLite的使用入门

概述 Android 也提供了几种方法用来保存数据,使得这些数据即使在程序结束以后依然不会丢失.这些方法有: 文本文件:  可以保存在应用程序自己的目录下,安装的每个app都会在/data/data/目录下创建个文件夹,名字和应用程序中AndroidManifest.xml文件中的package一样. SDcard保存: Preferences保存:  这也是一种经常使用的数据存储方法,因为它们对于用户而言是透明的,并且从应用安装的时候就存在了. Assets保存:  用来存储一些只读数据,As

android-更新sqlite表时报的错

问题描述 更新sqlite表时报的错 public void updateTable(String id, String name) { String strFilter = "realId=" + id; ContentValues args = new ContentValues(); args.put("name", name); db.update("names", args, strFilter, null); } 然后在下面这行代码报

listview-列出 Sqlite 中的内容

问题描述 列出 Sqlite 中的内容 我使用如下的代码想把一些列中所有的 items 传递到 arrayadapter.有什么好方法能实现? private void TestListAll(){ //Displays the whole list. cursor = db.rawQuery("SELECT _id, firstName, lastName, title FROM employee WHERE firstName || ' ' || lastName LIKE ?",

OEA 2.11 支持单机版数据库 - SQLite与SQLCE对比

在 OEA 平台 设计中,需要支持多种数据库,这至少包括了 SqlServer.Oracle.一个单机文件数据库.而之前对于这一块,我们一直没有实现,只是预留了许多接口.昨天花费了一天的时间,让 OEA 支持了本地数据库 SQLCE.   为什么要支持本地数据库呢? 支持开发简单的本地软件.  偶尔需要一些比较小的应用程序,例如"个人计帐管理"."个人联系方式管理"等.这些简单的软件,如果还让客户装个 SQLServer2008,客户觉得都围绕着.选择使用单机数据库

php配置sqlite数据库开发实例

百度搜索下载SqLiteManager工具 PHP5已经绑定sqlite 1.手动添加的php的pdo的驱动扩展支持 ,在PHP.ini添加 extension=php_pdo.dll extension=php_pdo_sqlite.dll extension=php_sqlite.dll extension_dir = "C:\Program Files\Apache Group\php5\ext" 2.在C:\Program Files\Apache Group\php5\ext

ucLinux下sqlite数据库移植全攻略(组图)

攻略|数据|数据库 本文讨论的是比较流行的嵌入式开发组合ARM+uclinux,即目标开发板为三星S3C4510,完成sqlite在其uclinux上的移植. 本文假设你已经具备正确编译uclinux的kernel的能力,即有能力完成make menuconfig:makedep:makelib_only:make user_only:makeromfs:makeimage:make.而且还能将自己写的类似helloworld程序加到"用户自定义应用程序"中,即你能完成"uC

同时支持三个MySQL+SQLite+PDO的PHP数据库类

  PHP学习教程文章简介: 同时支持三个MySQL+SQLite+PDO的PHP数据库类使用方法: // mysql connect $db = new SQL(mysql:host=localhost;database=21andy_blog;, 21andy.com_user, 21andy.com_password); // PDO SQLite3 connect $db = new SQL(pdo:database=/21andy.com/21andy.s 同时支持三个MySQL+SQ