Linux 数据库 - SQlite移植与API使用

应用场景

  • 嵌入式环境(ARM + Linux)
  • 不具备数据库(database)功能的 RTOS 系统

终极目标

  • 我不管!!代码要优雅QAQ!

操作步骤

前期准备

  • 一双灵巧的手 和 一个灵活的脑子
  • 一台能编译的服务器

第一步: 获取 SQlite 源码

https://sqlite.org/download.html
点进去(★ ω ★), 下载 sqlite-autoconf-xxx.tar.gz 版本, 并且放到服务器上
在这里插入图片描述

第二步: 编译和移植 SQlite

  • 配置
    ./configure --host=arm-buildroot-linux-gnueabihf --prefix=./build 在这里插入图片描述
  • 编译 和 安装
    make -j8
    make install
  • 在目标板进行初步测试
    如果 rootfs 是只读并且无法修改, 请重新打包固件, 将 /build/bin 和 /build/lib 放入指定目录
    在这里插入图片描述
    显示以上信息代表您成功啦(★ ω ★)

第三步: 编写代码在嵌入式环境测试

  • SQlite 原语
 CREATE: 创建原语
 语法:  CREATE TABLE <TABLE_NAME>(TYPE KEY1, TYPE KEY2,...);
 TPYE: 
     REAL: 浮点型
     INTEGER: 整型
     VARCHAR(x): 字符型
 INSERT:插入原语
 语法:  INSERT INTO \"<TABLE_NAME>\" VALUES(VAL1, VAL2, ...)
 DELETE:删除原语
 语法:  DELETE FROM <TABLE_NAME> WHERE <COND_EXP>
 <COND_EXP>: 条件表达式, 例如 KEY = 1.
 SELECT:查找原语
 语法:  SELECT <COND_EXP> FROM <TABLE_NAME>
 <COND_EXP> 条件表达式, 例如 '*' 通配符.
  • 示例代码
    源码可以通过以下 git 方式获取
/*
 * Copyright (C) 2012 The iFinelio Tower
 * Of course, you can contact me through email if you have any questions
 *
 *      E-mail: <iFinelio Tower>308662170@qq.com
 * 
 * You can obtain the source code in the following ways:
 *      git clone https://github.com/iFinelioTower/CSDN -b sqlite
 * 
 * The source code only with learning, Thank you for watching.
 */

#ifndef __SQLITE_API_H__
#define __SQLITE_API_H__

#include <string.h>
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>

#include <sqlite3.h>

#define SQLITE_OPEN(path, db) sqlite3_open_v2(path, db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL)
#define SQLITE_CLOSE(db) sqlite3_close_v2(db)

#endif //__SQLITE_API_H__
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值