深入SQLite基本操作的總結詳解

longmanma發表於2021-09-09

sqlite提供的是一些C函式介面,你可以用這些函式運算元據庫。透過使用這些介面,傳遞一些標準 sql 語句(以 char * 型別)給 sqlite 函式,sqlite 就會為你運算元據庫。sqlite 跟MS的access一樣是檔案型資料庫,就是說,一個資料庫就是一個檔案,此資料庫裡可以建立很多的表,可以建立索引、觸發器等等,但是,它實際上得到的就是一個檔案。備份這個檔案就備份了整個資料庫。 sqlite 不需要任何資料庫引擎,這意味著如果你需要 sqlite 來儲存一些使用者資料,甚至都不需要安裝資料庫。

下面開始介紹資料庫基本操作。
1、基本流程
(1)關鍵資料結構:
     sqlite 裡最常用到的是 sqlite3 * 型別。從資料庫開啟開始,sqlite就要為這個型別準備好記憶體,直到資料庫關閉,整個過程都需要用到這個型別。當資料庫開啟時開始,這個型別的變數就代表了你要操作的資料庫。下面再詳細介紹。
(2)開啟資料庫:
     int sqlite3_open( 檔名, sqlite3 ** ); 用這個函式開始資料庫操作。需要傳入兩個引數,一是資料庫檔名,比如:..\test\testDatabase.db。
檔名不需要一定存在,如果此檔案不存在,sqlite 會自動建立它。如果它存在,就嘗試把它當資料庫檔案來開啟。 其中sqlite3 ** 引數即前面提到的關鍵資料結構。這個結構底層細節如何,你不要關它。
    函式返回值表示操作是否正確,如果是 SQLITE_OK 則表示操作正常。相關的返回值sqlite定義了一些宏。具體這些宏的含義可以參考 sqlite3.h 檔案。裡面有詳細定義。
(3)關閉資料庫:
    int sqlite3_close(sqlite3 *); 前面如果用 sqlite3_open 開啟了一個資料庫,結尾時不要忘了用這個函式關閉資料庫。
    sqlite資料庫操作例子

複製程式碼 程式碼如下:
   #include "./sqlite3.h"
    int main( int , char** )
    {
        sqlite3 * db = NULL; //宣告sqlite關鍵結構指標
        int result;
        //需要傳入 db 這個指標的指標,
        //因為 sqlite3_open 函式要為這個指標分配記憶體,還要讓db指標指向這個記憶體區
        result = sqlite3_open("..\test\testDatabase.db", &db);//開啟資料庫
        if( result != SQLITE_OK )
        {
            return -1; //資料庫開啟失敗
        }
        //資料庫操作程式碼
        //…-
        //資料庫開啟成功
        sqlite3_close( db ); //關閉資料庫
        return 0;
    }

這就是一次資料庫操作過程。

2、 SQL語句操作(如何用sqlite 執行標準 sql 語法)
(1)執行sql語句: int sqlite3_exec(sqlite3*, const char *sql, sqlite3_callback, void *, char **errmsg ); 這就是執行一條 sql 語句的函式。
 引數說明:
     第1個引數不再說了,是前面open函式得到的指標。說了是關鍵資料結構。
     第2個引數const char *sql 是一條 sql 語句,以

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2730/viewspace-2810362/,如需轉載,請註明出處,否則將追究法律責任。

相關文章