LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 10310|回复: 7

少于五分钟的学习SQLite数据库

[复制链接]
发表于 2005-7-18 16:22:51 | 显示全部楼层 |阅读模式
少于五分钟的学习SQLite

译者: wide288

这告诉你怎么开始实验 SQLite ,这里没有长长的说明和配置。:

下载代码

取得一份二进制拷贝, 或者是源代码并自己编译它. 关于 下载页(download) 的更多信息.





创建一个新数据库

在 DOS 命令行下, 输入: "sqlite3 test.db". 将创建一个新的数据库文件名叫"test.db". (你可以使用不同的名字)



输入 SQL 命令在提示符下创建和写入新的数据.





写程序使用 SQLite

下面是一个简单的 TCL 程序让我们看看怎么使用 sqlite 的 TCL 接口. 此程序执行 SQL 声明的第二个参数 执行SQL命令. 这个命令是 sqlite3 在第 7 行打开一个 SQLite 数据库并且创建一个新的 TCL 命令,名字是"db" 连接到数据库,这个 db 命令在第 8 行执行 SQL 命令对数据库,并且关闭与数据库的连接.

  1. #!/usr/bin/tclsh
  2. if {$argc!=2} {
  3.   puts stderr "Usage: %s DATABASE SQL-STATEMENT"
  4.   exit 1
  5. }
  6. load /usr/lib/tclsqlite3.so Sqlite3
  7. sqlite3 db [lindex $argv 0]
  8. db eval [lindex $argv 1] x {
  9.   foreach v $x(*) {
  10.     puts "$v = $x($v)"
  11.   }
  12.   puts ""
  13. }
  14. db close
复制代码






下面是一个C程序的例子,显示怎么使用 sqlite 的 C/C++ 接口. 数据库的名字由第一个参数取得且第二个参数或更多的参数是 SQL 执行语句. 这个函数调用sqlite3_open() 在 22 行打开数据库, sqlite3_exec() 在 27 行执行 SQL 命令, 并且sqlite3_close() 在 31 行关闭数据库连接.

  1. #include <stdio.h>
  2. #include <sqlite3.h>

  3. static int callback(void *NotUsed, int argc, char **argv, char **azColName){
  4.   int i;
  5.   for(i=0; i<argc; i++){
  6.     printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
  7.   }
  8.   printf("\n");
  9.   return 0;
  10. }

  11. int main(int argc, char **argv){
  12.   sqlite3 *db;
  13.   char *zErrMsg = 0;
  14.   int rc;

  15.   if( argc!=3 ){
  16.     fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
  17.     exit(1);
  18.   }
  19.   rc = sqlite3_open(argv[1], &db);
  20.   if( rc ){
  21.     fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
  22.     sqlite3_close(db);
  23.     exit(1);
  24.   }
  25.   rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);
  26.   if( rc!=SQLITE_OK ){
  27.     fprintf(stderr, "SQL error: %s\n", zErrMsg);
  28.   }
  29.   sqlite3_close(db);
  30.   return 0;
  31. }
复制代码










此页最后修改2005/7/5 13:24 上次修改 2004/10/19 01:31:20
-------------------------------------

翻译此文章,还想请大家写些例子出来,在更多的地方应用此数据库。
它可是代替 Access 数据库的好东西。
发表于 2005-7-18 17:10:17 | 显示全部楼层
果然是简单明了. 有没有更详细一点的介绍?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-18 17:16:09 | 显示全部楼层
有在其主页上,还没有翻译。
现在就等着兄弟们,用gtk 和 c 来实现其全部的功能的例子了。
回复 支持 反对

使用道具 举报

发表于 2005-7-18 20:14:29 | 显示全部楼层
是原创翻译吗?先加精了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-19 09:34:52 | 显示全部楼层
嗯,可惜手里没有 Linux 系统要不就写例程了。
回复 支持 反对

使用道具 举报

发表于 2005-7-21 11:26:39 | 显示全部楼层
Post by wide288
嗯,可惜手里没有 Linux 系统要不就写例程了。

这个,windows平台也可以使用的呀
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-22 09:31:05 | 显示全部楼层
是啊,可是写出来不能用于 GNU/Linux 上不是也白写吗
回复 支持 反对

使用道具 举报

发表于 2006-3-14 15:30:35 | 显示全部楼层

sqlite

哥们儿拿点真东西出来,看sqlite官方网站的东西还用到这来吗??????
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表