深入SQLite基本操作的總結詳解
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ActiveMQ基本詳解與總結MQ
- 解析SQLite中的常見問題與總結詳解SQLite
- FutureTask基本操作總結
- 詳解雙向連結串列的基本操作(C語言)C語言
- 關於git的基本核心操作總結Git
- systemctl的操作詳解總結及其與service的區別
- android sqlite3 not found 解決總結AndroidSQLite
- 深入SQLite,一網打盡“危險操作”SQLite
- Python中集合的概念及基本操作詳解!Python
- c# 操作Redis的五種基本型別總結C#Redis型別
- Git使用總結(一):簡介與基本操作Git
- 資料結構3-4周總結(1) 基本操作資料結構
- 【知識點】SQLite3總結SQLite
- Linux基礎知識和基本操作語句總結Linux
- electron打包更新與整合sqlite小總結SQLite
- 常用的HTML標籤詳解與總結HTML
- 最全總結 JavaScript Array 方法詳解JavaScript
- MySQ索引操作命令總結(建立、重建、查詢和刪除索引命令詳解)索引
- 42.QT-QSqlQuery類操作SQLite資料庫(建立、查詢、刪除、修改)詳解QTSQLite資料庫
- Quartz:基本用法總結quartz
- C#程式設計學習(04):基本操作學習總結C#程式設計
- SQLite 基本命令使用方式SQLite
- SQLite中SELECT基本形式SQLite
- 詳解 PHP 反射的基本使用PHP反射
- Java多執行緒詳解總結Java執行緒
- consul配置引數大全、詳解、總結
- C++資料結構連結串列的基本操作C++資料結構
- MySQL基本操作語句小結MySql
- oracle基本命令總結Oracle
- JavaScript基本型別總結JavaScript型別
- 【Less】Less基本用法總結
- 1. MySQL 深入總結MySql
- Webpack 再深入再總結Web
- 今日總結深入String類
- Python集合操作總結Python
- ?Git 常用操作總結Git
- 詳解 RestTemplate 操作REST
- Flink的DataSet基本運算元總結