五分钟或更短时间熟悉sqlite--关于sqlite编程的快速简介
本篇介绍如何尝试使用sqlite,而不需要进行大量冗长乏味的阅读和配置。
下载代码
下载一份你机器要用的预编译完成的二进制库文件,或下载一份源码,并自行编译。访问下载页以获得更多的信息。
创建新的数据库
-
在命令解释程序(shell)或DOS中,敲入:"sqlite3test.db"。该命令将创建一个以"test.db"命名的新的数据库(当然你可以用你想要一个不同的名字)。
- 参阅,参考文档“Command Line Shell Forsqlite”。
用sqlite编写程序
- 如下是一个简单的TCL 程序,以展示如何使用TCL 接口来交互sqlite。该程序执行作为第二个参数的sql 语句,来操作由第一个参数定义的数据库。指令集等待第7行的sqlite3 命令,该命令打开一个sqlite 数据库,同时创建一个新的以“db”命名的对象以连接到刚才的数据库。第8行的命令使用db对象的eval成员函数来运行对刚才数据库的sql命令。脚本的最后一行则是关闭数据库连接。
-
01 #!/usr/bin/tclsh
-
02 if {$argc!=2} {
- 03 puts stderr "Usage: %s DATABASEsql-STATEMENT"
- 04 exit 1
- 05 }
- 06 package require sqlite3
- 07 sqlite3 db [lindex $argv 0]
- 08 db eval [lindex $argv 1] x {
- 09 foreach v $x(*) {
- 10 puts "$v = $x($v)"
- 11 }
- 12 puts ""
- 13 }
- 14 db close
- 如下是一短简单的C语言,以展示如何使用C/C++来交互sqlite。第一个参数给出数据库的名字,第二个参数是一条或多条对数据库进行操作的sql语句。在此,需要关注的函数调用是:22行的sqlite3_open()打开数据库。28行的sqlite3_exec()执行操作数据库的sql 命令。33行的sqlite3_close()关闭数据库连接。
另请参阅“Introduction To The sqlite C/C++ Interface”以获得对几十个sqlite接口函数的介绍性的概述和路线图
01 #include<stdio.h>
02 #include<sqlite3.h>
03
04 static intcallback(void *NotUsed,int argc,char **argv,char **azColName){
05 int i;
06 for(i=0;i<argc; i++){
07printf("%s = %s\n",azColName[i],argv[i] ? argv[i] :"NULL");
08 }
09printf("\n");
10 return 0;
11 }
12
13 int main(intargc,char **argv){
14 sqlite3*db;
15 char *zErrMsg= 0;
16 int rc;
17
18 if( argc!=3){
19fprintf(stderr,"Usage: %s DATABASE sql-STATEMENT\n",argv[0]);
20 return(1);
21 }
22 rc = sqlite3_open(argv[1],&db);
23 if( rc ){
24fprintf(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,&zErrMsg);
29 if(rc!=sqlITE_OK ){
30fprintf(stderr,"sql error: %s\n",zErrMsg);
31 sqlite3_free(zErrMsg);
32 }
33 sqlite3_close(db);
34 return 0;
35 }