歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Linux C SQLite3 編程

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函數的返回指,它返回一個整型的數,可以通過這個數字來得知的執行結果。
Copyright © Linux教程網 All Rights Reserved