SQLite數(shù)據(jù)庫移植詳解
在掛有小型系統(tǒng)的嵌入式產(chǎn)品中,移植SQLite數(shù)據(jù)庫就是一項必須的工作。以下是針對arm-linux-gcc的arm產(chǎn)品來移植SQLite數(shù)據(jù)庫的步驟詳解,在移植之前,請先確保arm-linux-gcc編譯是安裝正常的,這點非常重要。
SQLite,是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領(lǐng)域項目。它的設(shè)計目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。
Sqlite官網(wǎng)網(wǎng)址:https://www.sqlite.org/
1、將sqlite-autoconf-3090200.tar.gz安裝包放到一個路徑下面,并將tar -xf sqlite-autoconf-3090200.tar.gz解壓
2、建立sqlite的空文件夾
3、進入剛解壓的文件夾sqlite-autoconf-3090200,并執(zhí)行配置命令 ./configure --host=arm-linux --prefix=/opt/toolschain/sqlite
4、執(zhí)行make命令
5、執(zhí)行make install命令
6、完成之后,到剛才新建的sqlite數(shù)據(jù)庫看一下,是否生成一些文件夾
7、Bin文件夾
注意:Bin文件夾下有個sqlite3這個文件,當(dāng)?shù)腶rm開發(fā)板要用sqlite數(shù)據(jù)庫時,將這個文件復(fù)制到開發(fā)板下面即可,一般的路徑是是在文件系統(tǒng)下的/user/bin下面,也有其他的路徑,視情況而定。
8、Lib文件夾
注意:這些都是一些庫連接文件了,將這些文件全部復(fù)制到開發(fā)板的文件系統(tǒng)的/user/lib下面,也有其他路徑,視情況而定。
9、Include文件夾
這個文件夾下面的sqlite3.h就是我們應(yīng)用程序要使用的文件了,在要操作數(shù)據(jù)庫時,將這個文件包含進來即可,比如我的項目下面就包含了這個文件了。
10、由于我的項目使用的靜態(tài)庫連接,看makefile
所以需要將生成文件lib下面的libsqlite3.a復(fù)制到我的項目文件夾下面,如果使用動態(tài)的就不需要了,注意一下
11、編譯項目
當(dāng)編譯項目時出現(xiàn)了一序列的錯誤,都找不到該函數(shù)
這個問題的解決方法是:在編譯時加上-ldl即可
12、Sqlite制作成功,這個是arm-linux平臺的,其他平臺的移植類似,successfully!!!……
13、Sqlite常用基本命令
新建數(shù)據(jù)庫
- 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;"