******************************************************************
--------------部分操作--------------
建数据库:
linux@ubuntu:~$ sqlite3 my.db
查看帮助:
sqlite> .help
文件存放位置:
sqlite> .database
退出:
sqlite> .quit
查看表:
sqlite> .tables
显示表的结构:
sqlite> .schema
*******************************************************************
---------------语法------------------
1.建表:
sqlite> create table usr(id integer primary key, nametext,age integer null, gender text, salary real notnull);
2.删除表
sqlite> drop table usr;
3.增:
sqlite> insert into usr(id, name, age, salary) values(2,'liu', 20, 6000);
4.删
sqlite> delete from usr where id = 2;
5.改:
sqlite> update usr set gender = 'man' where id = 3;
6.查:
sqlite> select * from usr where id = 2;
************************************************************
------------------编程接口--------------------------
网址:www.sqlite.org
1.打开数据库:
int sqlite3_open(char *path, sqlite3 **db);
db:指向sqlite句柄的指针;
成功返回0;
失败返回错误码;
2.出错判断
char *sqlite3_errmsg(sqlite3*);
///
3.执行sql操作
int sqlite3_exec(
);
///
执行函数:每找到一条自动执行一次函数
typedef int (*sqlite3_callback)(
void *para, //传递给函数的参数
int f_num, //记录中包含的字段的数目
char **f_value, //包含每个字段值的指针数组
char **f_name //包含每个字段名称的指针数组
);
//
int
sqlite3_get_table(sqlite3 *db, const
char
*sql,
char ***resultp,
int*nrow,
int *ncolumn, char **errmsg);
功能:执行SQL操作
返回值:成功返回0,失败返回错误码
int
sqlite3_get_table(sqlite3*db, const
char
*sql, NULL,NULL
,char **errmsg)
CREATE TABLE table1(id integer PRIMARY KEY autoincrement,item varchar(10),content double,time varchar(25));
CREATE TABLE table2(id integer PRIMARY KEY autoincrement,name varchar(10),demand double);
CREATE TABLE table3(id integer PRIMARY KEY autoincrement,name varchar(20),type vaechar(5),content double);
CREATE TABLE table2(id integer PRIMARY KEY autoincrement,name varchar(10),demand double);
CREATE TABLE table3(id integer PRIMARY KEY autoincrement,name varchar(20),type vaechar(5),content double);