五分钟或更短时间熟悉SQLite--关于SQLite编程的快速简介
本篇介绍如何尝试使用SQLite,而不需要进行大量冗长乏味的阅读和配置。
下载代码
下载一份你机器要用的预编译完成的二进制库文件,或下载一份源码,并自行编译。访问下载页以获得更多的信息。
创建新的数据库
-
在命令解释程序(shell)或DOS中,敲入:"sqlite3test.db"。该命令将创建一个以"test.db"命名的新的数据库(当然你可以用你想要一个不同的名字)。
-
在命令提示符后敲入SQ命令以设计和构造新建的数据库。
-
参阅,参考文档“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++){
07 printf("%s = %s\n", azColName[i], argv[i] ? argv[i] :"NULL");
08 }
09 printf("\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){
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 }