歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Linux C SQLite3 編程

Linux C SQLite3 編程

日期:2017/3/1 11:10:50   编辑:Linux編程

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