歡迎您光臨本站 註冊首頁

Linux C SQLite3 編程

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

SQLite3

SQLite是一個輕量級的資料庫。和常用的MySQL大同小異。和MySQL相比,數據類型基本一樣,只是sqlite的指令都是以"."開頭(如:mysql中查看當前有哪些資料庫是“show databases",而sqlite中是".databases")。當然,SQL語句都是一樣的語法規則。

  1. Host System: Archlinux  
  2. gcc: 4.6.1 20110819  
  3. sqlite3: 3.7.8 20110919  

 

系統一般沒有默認安裝sqlite資料庫,所以先要安裝sqlite3:

  1. # pacman -S sqlite3  
可以使用"sqlite3 + 資料庫名"來打開一個資料庫。

 

常用函數

  1. sqlite3_open(const char *filename, sqlite3 **ppDb);  
  2. sqlite3_close(sqlite3 *db);  
  3. sqlite3_exec(sqlite3*, const char *sql, int (*callback)(void*,int,char**,char**),  void *, char **errmsg);  

這三個函數基本上能完成對sqlite3的所有操作。需要用的頭文件為"sqlite3.h"。

  • 打開(新建)資料庫
     
    1. sqlite3 *db;  
    2. sqlite3_open("test.db", &db);  
  • 關閉資料庫
     
    1. sqlite3_close(db);  
  • 執行sql語句(以創建表為例)
     
    1. char sql[128];  
    2. memset(sql, '\0', 128);  
    3. sprintf(sql, "%s%s%s""create table ", "test_tb""(id INTEGER PRIMARY KEY, data TEXT)");  
    4. sqlite3_exec(db, sql, NULL, NULL, NULL);  
    sqlite3_exec中第一個和第二個參數的意義很好理解。第三個參數是一個回調(callback)函數。第四個參數可用於給回調函數傳入一個參數。第五個參數為這條sql語句執行后的返回。我試了好幾次,第五個參數的返回值列印出來都是亂碼,所以建議直接查看sqlite3_exec函數的返回指,它返回一個整型的數,可以通過這個數字來得知的執行結果。


[火星人 ] Linux C SQLite3 編程已經有407次圍觀

http://coctec.com/docs/program/show-post-71486.html