嵌入式数据库SQlite3

基于嵌入式的数据库

  • 基于嵌入式Linux的数据库主要有SQlite,Firebird,Berkeley DB,eXtremeDB
  • Firebird是关系型数据库,功能强大,支持存储过程,SQL兼容等。
  • SQlite关系型数据库体积小,支持ACID事务

SQLite基础

  • SQLite的源码是C语言,源代码完全开源
  • SQLite有以下特性
    • 零配置,无需安装和管理配置
    • 存储在单一磁盘文件中的一个完整的数据库
    • 数据库文件可以在不同字节顺序的机器间自由共享
    • 支持数据库大小至2TB
    • 足够小,源码大致三万行C代码,250KB
    • 比目前大多数据库对数据的操作更快

创建数据库

1.在线安装

sudo apt-get install sqlite3

2.SQlite3基本命令
  • 1.系统命令
    • 以 . 开头的命令
      • .help帮助
      • .quit退出
      • .schema查看表结构
      • .databases查看打开的数据库
      • .table查看已有的表
  • 2.sql命令
  • 基本的sql命令不以 . 开头,但都要;结尾
    • 创建一张数据库的表stu
      • create table stu(id Integer,name char,score Integer);
    • 插入一张记录
      • insert into stu values(1001,‘zhangsan’,80);
    • 插入部分字段记录
      • insert into stu(name,score) values(1002,‘lisi’);
    • 查询所有记录
      • select *from stu
    • 查询数据库部分内容字段
      • select name,score from stu
    • 根据属性查询
      • select *from stu where score=80;
      • select *from stu where score=80 and name=‘zhangsan’;
    • 删除一条记录
      • delete from stu where id=1003;
      • delete from stu where score=‘90’;
    • 更新一条记录
      • update stu set name = ‘wangwu’ where id=1001;
      • update stu set name = ‘wangwu’,score=88 where id=1001;
      • 添加一列
        • alter table stu add column address char;
      • 删除一列
        • 1.创建一张表
          • 提取字段
          • create table stu1 as select id,name,score from stu;
        • 2.删除原有表
          • drop table stu;
        • 3.将新的表的名字改成原有的表名字
          • alter table stu1 rename to stu;

API操作

sqlite3_open

int sqlite3_open(char *filename,salite3 **db);

  • 打开sqlite数据库
  • 参数:
    • filename:数据库文件路径
    • db:指向sqlite句柄的指针
  • 返回值:成功返回0,失败返回错误码(非零值)
sqlite3_close

int sqlite3_close(sqlite3 *db);

  • 关闭sqlite数据库
  • 参数:
    • db操作数据库的指针
  • 返回值:
    • 成功返回0,失败返回错误码
sqlite3_errmsg

const char *sqlite3_errmsg(sqlite3 *db);

  • 通过db句柄得到数据库操作的错误信息
  • 返回值:
    • 返回错误信息首地址
sqlite3_exec

int sqlite3_exec(sqlite3 db,
const char *sql,
int (*callback)(void *,int,char
*,char *8)
void *,
char **errmsg
);

  • 执行一条sql语句

  • 参数

    • db:数据库操作句柄
    • sql:一条sql语句
    • callback:回调函数,只有sql为查询语句时才会执行此语句
    • void *:给回调函数传递参数
    • errmsg:错误信息
  • 返回值:成功SQLITE_OK

  • int (*callback)()

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值