在挂有小型系统的嵌入式产品中,移植SQLite数据库就是一项必须的工作。以下是针对arm-linux-gcc的arm产品来移植SQLite数据库的步骤详解,在移植之前,请先确保arm-linux-gcc编译是安装正常的,这点非常重要。
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
Sqlite官网网址:https://www.sqlite.org/
1、将sqlite-autoconf-3090200.tar.gz安装包放到一个路径下面,并将tar -xf sqlite-autoconf-3090200.tar.gz解压
2、建立sqlite的空文件夹
3、进入刚解压的文件夹sqlite-autoconf-3090200,并执行配置命令 ./configure --host=arm-linux --prefix=/opt/toolschain/sqlite
4、执行make命令
5、执行make install命令
6、完成之后,到刚才新建的sqlite数据库看一下,是否生成一些文件夹
7、Bin文件夹
注意:Bin文件夹下有个sqlite3这个文件,当的arm开发板要用sqlite数据库时,将这个文件复制到开发板下面即可,一般的路径是是在文件系统下的/user/bin下面,也有其他的路径,视情况而定。
8、Lib文件夹
注意:这些都是一些库连接文件了,将这些文件全部复制到开发板的文件系统的/user/lib下面,也有其他路径,视情况而定。
9、Include文件夹
这个文件夹下面的sqlite3.h就是我们应用程序要使用的文件了,在要操作数据库时,将这个文件包含进来即可,比如我的项目下面就包含了这个文件了。
10、由于我的项目使用的静态库连接,看makefile
所以需要将生成文件lib下面的libsqlite3.a复制到我的项目文件夹下面,如果使用动态的就不需要了,注意一下
11、编译项目
当编译项目时出现了一序列的错误,都找不到该函数
这个问题的解决方法是:在编译时加上-ldl即可
12、Sqlite制作成功,这个是arm-linux平台的,其他平台的移植类似,successfully!!!……
13、Sqlite常用基本命令
新建数据库
- sqlite3 databasefilename
插入记录
- insert into table_name values (field1, field2, field3...);
查询
select * from table_name;查看table_name表中所有记录;
select * from table_name where field1='xxxxx'; 查询符合指定条件的记录;
删除
- delete from table_name where ...
删除表
drop table_name; 删除表;
drop index_name; 删除索引;
修改
- update table_name set xxx=value[, xxx=value,...] where ...
输出 HTML 表格:
- sqlite3 -html film.db "select * from film;"