GTK+中文社区(gtk.awaysoft.com)

 找回密码
 马上加入

QQ登录

只需一步,快速开始

查看: 4477|回复: 5

Linux C SQLite3 编程

[复制链接]
  • TA的每日心情
    奋斗
    2016-10-11 09:20
  • 签到天数: 271 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2011-10-26 04:38:06 | 显示全部楼层 |阅读模式
    SQLite3


    SQLite是一个轻量级的数据库。和常用的MySQL大同小异。和MySQL相比,数据类型基本一样,只是sqlite的指令都是以"."开头(如:mysql中查看当前有哪些数据库是“showdatabases",而sqlite中是".databases")。当然,SQL语句都是一样的语法规则。
    • Host System: Archlinux
    • gcc: 4.6.1 20110819
    • sqlite3: 3.7.8 20110919

    系统一般没有默认安装sqlite数据库,所以先要安装sqlite3:
    1. # pacman -S sqlite3
    复制代码
    可以使用"sqlite3 + 数据库名"来打开一个数据库。




    常用函数
    • sqlite3_open(const char *filename, sqlite3 **ppDb);
    • sqlite3_close(sqlite3 *db);
    • sqlite3_exec(sqlite3*, const char *sql, int (*callback)(void*,int,char**,char**),  void *, char **errmsg);

    这三个函数基本上能完成对sqlite3的所有操作。需要用的头文件为"sqlite3.h"。

    打开(新建)数据库sqlite3 *db;
    sqlite3_open(<font color="#0000ff">"test.db"</font>, &db);[/code]关闭数据库
    1. sqlite3_close(db);
    复制代码
    执行sql语句(以创建表为例)
    1. char sql[128];
    2. memset(sql, '\0', 128);
    3. sprintf(sql, "%s%s%s", "create table ", "test_tb", "(id INTEGER PRIMARY KEY, data TEXT)");
    4. sqlite3_exec(db, sql, NULL, NULL, NULL);
    复制代码
    sqlite3_exec中第一个和第二个参数的意义很好理解。第三个参数是一个回调(callback)函数。第四个参数可用于给回调函数传入一个参数。第五个参数为这条sql语句执行后的返回。我试了好几次,第五个参数的返回值打印出来都是乱码,所以建议直接查看sqlite3_exec函数的返回指,它返回一个整型的数,可以通过这个数字来得知的执行结果。

    该用户从未签到

    发表于 2011-11-29 17:16:09 | 显示全部楼层
    就6个函数?常用?!!!好强大的数据库,对SQL语言依赖比较大的吧?可以使用exec执行很多东西吧!
    qzuser 该用户已被删除
    发表于 2013-1-4 07:38:05 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
  • TA的每日心情
    奋斗
    2021-11-19 13:15
  • 签到天数: 20 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2013-1-5 14:48:19 | 显示全部楼层
    qzuser 发表于 2013-1-4 07:38
    说的还行。有借鉴意义。
    结果集的后续处理还需要详细说明。

    好吧,这是我早期转的一些资料,改天再补全吧~
    qzuser 该用户已被删除
    发表于 2013-2-5 20:50:11 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
  • TA的每日心情
    慵懒
    2013-7-6 15:08
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]初来乍到

    发表于 2013-7-27 00:45:44 | 显示全部楼层
    强烈要求再补!!!
    *滑块验证:
    您需要登录后才可以回帖 登录 | 马上加入

    本版积分规则

    申请友链|Archiver|小黑屋|手机版|GTK+中文社区 ( 粤ICP备13080851号 )

    我要啦免费统计

    GMT+8, 2024-4-20 00:48 , Processed in 0.277398 second(s), 8 queries , Redis On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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