- Back to Home »
- Database »
- SQLite
Tuesday, October 20, 2015
1. SQLite database
Quản trị cơ sở dữ liệu theo dạng bảng.
- SQLite Home Page
- SQLite Tutorial
- SQLite Browser
Để dễ dàng trong việc hiểu và sử dụng bạn nên kết hợp việc sử dụng phần mềm SQLite Browser với việc đọc tài liệu về SQLite.
Build sqlite-autoconf-3090100
export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
export CROSS=arm-none-linux-gnueabi-
export HOST=arm-none-linux-gnueabi
./configure --prefix=$PREFIX --host=${HOST} \
CC=${CROSS}gcc
2. Ví dụ
sqlite_eg.c
#include <stdio.h>
#include <sqlite3.h>
static int callback(void *NotUsed, int argc, char **argv, char **azColName){
int i;
for(i=0; i<argc; i++){
printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
int main(int argc, char **argv){
sqlite3 *db;
char *zErrMsg = 0;
int rc;
if( argc!=3 ){
fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
return(1);
}
rc = sqlite3_open(argv[1], &db);
if( rc ){
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
return(1);
}
rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);
if( rc!=SQLITE_OK ){
fprintf(stderr, "SQL error: %s\n", zErrMsg);
sqlite3_free(zErrMsg);
}
sqlite3_close(db);
return 0;
}
Build app (ví dụ build cho host, cho board tương tự)
DEPEND_LIB_DIR=/path/to/sqlite/install
export CFLAGS=-I${DEPEND_LIB_DIR}/include
export CPPFLAGS=-I${DEPEND_LIB_DIR}/include
export LDFLAGS=-L${DEPEND_LIB_DIR}/lib
export PKG_CONFIG_PATH=${DEPEND_LIB_DIR}/lib/pkgconfig
export LD_LIBRARY_PATH=${DEPEND_LIB_DIR}/lib
export PATH=$PATH:${DEPEND_LIB_DIR}/bin:${DEPEND_LIB_DIR}/sbin
export LIBS="-lsqlite3"
gcc sqlite_ex.c ${CFLAGS} ${LDFLAGS} ${LIBS} -o mysqlapp
Chạy ví dụ:
$ ./mysqlapp mydata.db "create table tbl1(one varchar(10), two smallint)"
$ ./mysqlapp mydata.db "insert into tbl1 values('hello', 10)"
$ ./mysqlapp mydata.db "insert into tbl1 values('goodbye', 20)"
$ ./mysqlapp mydata.db "select * from tbl1"
one = hello
two = 10
one = goodbye
two = 20
- Tạo SQLite database mydata.db
- Trong database tạo bảng có tên tb1
- Bảng tb1 có hai trường one có kiểu dữ liệu char và trường two có kiểu dữ liệu int
- Chèn record có giá trị 'hello' và '10' tương ứng với trường one và two
- Chèn record có giá trị 'goodbye' và '20' tương ứng với trường one và two
- Hiển thị tất cả các record
- Dùng phần mềm SQL Browser để mở database mydata.db
(yum install sqlitebrowser)