什麼是SQLite SQLite是一款輕型的嵌入式資料庫 它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的記憶體就夠了 它的處理速度比Mysql、PostgreSQL這兩款著名的資料庫都還快 什麼是資料庫 資料庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫 資料庫可以分為2大種
什麼是SQLite SQLite是一款輕型的嵌入式資料庫 它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的記憶體就夠了 它的處理速度比Mysql、PostgreSQL這兩款著名的資料庫都還快 什麼是資料庫 資料庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫 資料庫可以分為2大種類 關係型資料庫(主流) 對象型資料庫 常用關係型資料庫 PC端:Oracle、MySQL、SQL Server、Access、DB2、Sybase 嵌入式\移動客戶端:SQLite 資料庫是如何存儲數據的 資料庫的存儲結構和excel很像,以表(table)為單位 資料庫存儲數據的步驟 新建一張表(table) 添加多個欄位(column,列,屬性)
添加多行記錄(row,每行存放多個欄位對應的值) 數據存儲的方式: Plist(NSArray\NSDictionary) Preference(偏好設置\NSUserDefaults) NSCoding(NSKeyedArchiver\NSkeyedUnarchiver) SQLite3 Core Data
1.打開資料庫
int sqlite3_open(
const char *filename, // 資料庫的文件路徑
sqlite3 **ppDb // 資料庫實例
);
2.執行任何SQL語句
int sqlite3_exec(
sqlite3*, // 一個打開的資料庫實例
const char *sql, // 需要執行的SQL語句
int (*callback)(void*,int,char**,char**), // SQL語句執行完畢後的回調
void *, // 回調函數的第1個參數
char **errmsg // 錯誤信息
);
3.檢查SQL語句的合法性(查詢前的準備)
int sqlite3_prepare_v2(
sqlite3 *db, // 資料庫實例
const char *zSql, // 需要檢查的SQL語句
int nByte, // SQL語句的最大位元組長度
sqlite3_stmt **ppStmt, // sqlite3_stmt實例,用來獲得資料庫數據
const char **pzTail
);
4.查詢一行數據
int sqlite3_step(sqlite3_stmt*); // 如果查詢到一行數據,就會返回SQLITE_ROW
5.利用stmt獲得某一欄位的值(欄位的下標從0開始)
double sqlite3_column_double(sqlite3_stmt*, int iCol); // 浮點數據
int sqlite3_column_int(sqlite3_stmt*, int iCol); // 整型數據
sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*, int iCol); // 長整型數據
const void *sqlite3_column_blob(sqlite3_stmt*, int iCol); // 二進位文本數據
const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol); // 字元串數據