下载
www.sqlite.org/download.html
C api: www.sqlite.org/cintro.html
sqlite3不区分大小写
编译
$ ./configure --prefix=/usr/local
$ make
$ make install
或者
gcc shell.c sqlite3.c -lpthread -ldl -lm -o sqlite3
命令
直接运行sqlite3
.help 帮助
.exit/quit 退出
.show 显示各种设置的当前值。
.header on 输出时显示字段名称
.mode column 输出时左对齐的列
.timer on 显示CPU计时
.databases 列出数据库名称
.tables 列出表的名称
.schema 表名 查看表结构
创建数据库sqlite3 DatabaseName.db
新建打开数据库 sqlite>.open test.db
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
PRIMARY KEY( columns )
);
DROP TABLE database_name.table_name;
SELECT column1, column2....columnN FROM table_name WHERE CONDITION;
INSERT INTO table_name( column1, column2....columnN) VALUES ( value1, value2....valueN);
DELETE FROM table_name WHERE CONDITION;
UPDATE table_name SET column1 = value1, column2 = value2.... [ WHERE CONDITION ];
C语言api
打开数据库sqlite3_open(const char *filename, sqlite3 **ppDb)
关闭数据库连接sqlite3_close(sqlite3*)
执行sql语句sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char **errmsg)
int sqlite3_prepare(sqlite3 *db, const char *zSql, int nByte, sqlite3_stmt **ppStmt, const char **pzTail);
这个函数将sql文本转换成一个准备语句(prepared statement)对象,同时返回这个对象的指针。
例子:
sqlite3 *mydb;
int ret = sqlite3_open("test.db", &*mydb);
char *sql = "select * from users";
char *data="test data";
int callback(void *data, int argc, char **argv, char **colName);
int ret2 = sqlite3_exec(mydb, sql, callback, (void*)data, &err);
sqlite3_close(mydb);