SQLite指南(3) - 5分钟了解熟悉SQLite
来源:互联网 发布:新浪ip反查域名 编辑:程序博客网 时间:2024/06/05 00:09
在没有大量阅读SQLite在线文档并且不了解相关配置之前,几分钟的时间可以让你快速了解SQLite.
1. 下载源代码,你总能从http://www.sqlite.org/download.html 这里下载到最新的SQLite发行版本对应的源码。
2. 创建数据库
你可以从http://www.sqlite.org/download.html这里下载到sqlite3.exe,也可以直接依据下文:
http://iihero.iteye.com/blog/1175595,自己动手编译出该可执行文件。
进到cmd窗口,进到sqlite3所在目录,执行sqlite3 <demo.db全路径>,即可为你创建一个数据库文件。如果是sqlite3 demo.db,则会在当前目录为你创建该数据库。
3.编写简单的使用SQLite的应用程序
使用C-API来访问SQLite数据库:
逻辑很简单,就带两个参数,每一个参数为db文件的路径,第2个参数为要执行的sql语句。
设该文件为demo.c.
编译,需要sqlite3.h, sqlite3.c以及这个demo.c
下边看看我的整个编译及测试过程:
上边的例子,我并没有创建一个独立的VC工程,因为不过是几个源文件,加一条编译命令。没必要弄得那么烦琐。如果您有兴趣,也可以根据上边的编译命令,建立一个Win32 console工程,应该很简单。
至于tcl编译并绑定的示例,有兴趣的,可以自行下载http://www.sqlite.org/sqlite-autoconf-3070800.tar.gz, 并搭建tcl环境进行实验。
1. 下载源代码,你总能从http://www.sqlite.org/download.html 这里下载到最新的SQLite发行版本对应的源码。
2. 创建数据库
你可以从http://www.sqlite.org/download.html这里下载到sqlite3.exe,也可以直接依据下文:
http://iihero.iteye.com/blog/1175595,自己动手编译出该可执行文件。
进到cmd窗口,进到sqlite3所在目录,执行sqlite3 <demo.db全路径>,即可为你创建一个数据库文件。如果是sqlite3 demo.db,则会在当前目录为你创建该数据库。
- D:\shared>sqlite3 d:\shared\demo\test.db
- SQLite version 3.7.6
- Enter ".help" for instructions
- Enter SQL statements terminated with a ";"
- sqlite> create table t(id int primary key, col2 varchar(32));
- sqlite> insert into t values(1, 'iihero');
- sqlite> insert into t values(2, '中国');
- sqlite> select * from t;
- 1|iihero
- 2|中国
- sqlite>
3.编写简单的使用SQLite的应用程序
使用C-API来访问SQLite数据库:
- #include <stdio.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;
- }
- int main(int argc, char **argv){
- sqlite3 *db;
- char *zErrMsg = 0;
- int rc;
- if( argc!=3 ){
- fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
- exit(1);
- }
- rc = sqlite3_open(argv[1], &db);
- if( rc ){
- fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
- sqlite3_close(db);
- exit(1);
- }
- rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);
- if( rc!=SQLITE_OK ){
- fprintf(stderr, "SQL error: %s\n", zErrMsg);
- sqlite3_free(zErrMsg);
- }
- sqlite3_close(db);
- return 0;
- }
逻辑很简单,就带两个参数,每一个参数为db文件的路径,第2个参数为要执行的sql语句。
设该文件为demo.c.
编译,需要sqlite3.h, sqlite3.c以及这个demo.c
下边看看我的整个编译及测试过程:
- E:\learn\db_research\sqlite\sqlite_auto_build>cd sqlite-amalgamation-3070800
- E:\learn\db_research\sqlite\sqlite_auto_build\sqlite-amalgamation-3070800>cl -Gs -GX -D_WIN32 -nologo -Zi -DOS_WIN=1 -DSQLITE_DEBUG=1 -DWIN32=1 -DTHREADSAFE=1 -DSQLITE_OS_WIN=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SOUNDEX=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -I. demo.c sqlite3.c -o demo.exe
- cl : Command line warning D9035 : option 'GX' has been deprecated and will be removed in a future release
- cl : Command line warning D9036 : use 'EHsc' instead of 'GX'
- cl : Command line warning D9035 : option 'o' has been deprecated and will be removed in a future release
- demo.c
- sqlite3.c
- Generating Code...
- E:\learn\db_research\sqlite\sqlite_auto_build\sqlite-amalgamation-3070800>dir demo.exe
- 驱动器 E 中的卷没有标签。
- 卷的序列号是 04EC-044E
- E:\learn\db_research\sqlite\sqlite_auto_build\sqlite-amalgamation-3070800 的目录
- 2011-09-27 21:32 1,221,120 demo.exe
- 1 个文件 1,221,120 字节
- 0 个目录 8,856,236,032 可用字节
- E:\learn\db_research\sqlite\sqlite_auto_build\sqlite-amalgamation-3070800>demo.exe d:\shared\demo\test.db "create table t123(id int primary key, col2 varchar(32)); insert into t123 values(1, 'iihero')"
- E:\learn\db_research\sqlite\sqlite_auto_build\sqlite-amalgamation-3070800>d:\shared\sqlite3.exe d:\shared\demo\test.db
- SQLite version 3.7.6
- Enter ".help" for instructions
- Enter SQL statements terminated with a ";"
- sqlite> select * from t123;
- 1|iihero
- sqlite>
上边的例子,我并没有创建一个独立的VC工程,因为不过是几个源文件,加一条编译命令。没必要弄得那么烦琐。如果您有兴趣,也可以根据上边的编译命令,建立一个Win32 console工程,应该很简单。
至于tcl编译并绑定的示例,有兴趣的,可以自行下载http://www.sqlite.org/sqlite-autoconf-3070800.tar.gz, 并搭建tcl环境进行实验。
- SQLite指南(3) - 5分钟了解熟悉SQLite
- SQLite指南(3) - 5分钟了解熟悉SQLite
- SQLite指南(3) - 5分钟了解熟悉SQLite
- 5分钟学会SQLite
- 五分钟或更短时间熟悉SQLite--关于SQLite编程的快速简介
- 了解sqlite
- 熟悉sqlite数据库
- sqlite-5分钟入门手册
- SQLite权威指南---SQLite介绍
- SQLite指南(5) - PRAGMA命令用法(完整)
- SQLite指南(5) - PRAGMA命令用法(完整)
- SQLite指南(5) - PRAGMA命令用法(完整)
- SQLite指南(5) - PRAGMA命令用法(完整)
- sqlite操作指南
- 对Android sqlite数据库的简单熟悉
- SQLite操作指南(SQLite version 3.6.21)
- <SQLite权威指南>第一章-SQLite介绍
- SQLite指南(1) -- SQLite的特性
- Mac Usage Tips
- VS 2008, MFC: add OnInitDialog - how?
- SQLite指南(1) -- SQLite的特性
- SQLite指南(2) -- 帮助及编译SQLite
- Hibernate读书笔记-----Hibernate的关联映射之N-1关联映射
- SQLite指南(3) - 5分钟了解熟悉SQLite
- Android动画学习笔记
- itunes相关
- jQuery中创建实例与原型继承揭秘
- SQLite指南(4) - FAQ列表(important)
- 错误:无法访问android.app.Activity 找不到android.app.Activity 的解决方式
- SQLite指南(5) - PRAGMA命令用法(完整)
- Kanban的五个属性
- 例题5.4.2