對于很多程序員來說,SQLite并不陌生。SQLite 是一款主要用于嵌入式的開源數據庫,可集成在自己的桌面程序中,也可替代Access作為后臺數據庫。SQLite 支持多數SQL92標準,例如:索引、限制、觸發和查看支持,支持 NULL、INTEGER、REAL、TEXT 和 BLOB 數據類型,支持事務。以下是一些SQLite的簡單使用。
//建立數據庫C:/sqlite-3_6_11> sqlite3.exe dbname.db
建立數據庫的時候sqlite3.exe后面跟數據庫文件名
//創建數據表sqlite> create table users(userid varchar(20) PRIMARY KEY,...> age int,...> birthday datetime);//添加記錄insert into users values('wang',20,'1989-5-4');insert into users values('li',22,'1987-11-16');//查詢記錄select * from users order by birthday;//刪除記錄delete from users where userid='wang';//退出sqlitesqlite> .exit
SQLite數據庫的數據結構是存貯在 "sqlite_master" 表中,具體命令可以輸入.help查看或參考SQLite幫助文檔。
在VC下使用SQLite的簡單例子:
#include "../sqlite3_lib/sqlite3.h" //請以你的地址為準#pragma comment(lib, "../sqlite3_lib/sqlite3.lib")//請以你的地址為準static int _sql_callback(void * notused, int argc, char ** argv, char ** szColName){int i;for ( i=0; i < argc; i++ ){printf( "%s = %s/n", szColName[i], argv[i] == 0 ? "NUL" : argv[i] );}return 0;}int main(int argc, char * argv[]){const char * sSQL1 = "create table users(userid varchar(20) PRIMARY KEY, age int, birthday datetime);";const char * sSQL2 = "insert into users values('wang',20,'1989-5-4');";const char * sSQL3 = "select * from users;";sqlite3 * db = 0;char * pErrMsg = 0;int ret = 0;//連接數據庫ret = sqlite3_open("./test.db", &db);if ( ret != SQLITE_OK ){fprintf(stderr, "不能打開數據庫: %s", sqlite3_errmsg(db));return(1);}printf("數據庫連接成功!/n");//執行SQL建立數據庫sqlite3_exec( db, sSQL1, 0, 0, &pErrMsg );if ( ret != SQLITE_OK ){fprintf(stderr, "SQL error: %s/n", pErrMsg);sqlite3_free(pErrMsg);}//插入記錄sqlite3_exec( db, sSQL2, 0, 0, &pErrMsg);//查詢數據表sqlite3_exec( db, sSQL3, _sql_callback, 0, &pErrMsg);//關閉數據庫sqlite3_close(db);db = 0;return 0;}
新聞熱點
疑難解答
圖片精選