sqlite3相关知识1.下载sqlite

下载地址:Sqlite3下载地址

2.编译sqlite3

在Linux下可用gcc编译sqlite3,命令如下:

gcc -o sqlite3 shell.c sqlite3.c -lpthread -ldl

3.测试

建立如图所示的数据库,该库中有student和person的数据表。 sqlite3数据库的使用_sqlite3 .dump ?TABLE? ...    Render all database content as SQL --查看表结构 .quit                            Exit this program --退出 .show                         Show the current values for various settings --显示 .tables ?TABLE?         List names of tables matching LIKE pattern TABLE --显示所有的表

4.SQL语句

1.创建表格语句 create table name(字段1 类型1 , 字段2 类型2 ...); 字段1 ----数据表中的列名 (id, name, address) 类型1 -----每一列的数据类型(int, char, varchar, text, date...) name char(32) -- 不管用不用都是32字节 name varchar(32) -- 用多少占用多少最大不能超过32

2.插入数据语句 insert into 表名 value(数据1, 数据2, 数据3) ; 如果(数据)是 字符串char/varchar或文本text 数据用引号比如 数据2为’jack’

3.查询表格数据 select (字段名--多个用逗号隔开,如果是所有就用*) from 表名; sqlite> select * from person; 0|Rose|gz sqlite> select * from student; 0|Jack|23|01 sqlite>

只查询名字 sqlite> select name from person; Rose 查名字和年龄 sqlite> select name, age from student; Jack|23 sqlite>

4.条件查询select (字段名--多个用逗号隔开,如果是所有就用*) from 表名 where 条件 条件: name==’jack’ ; 查询出用户名为jack的数据 name like ja%; age > 10; 年龄大于10 age<10 or age >60; age>10 and age <60

sqlite> select * from student where name=='Jack'; 0|Jack|23|01 sqlite> select * from student age>23; Error: near ">": syntax error sqlite> select * from student where age>23; 1|Rose|30|01

5.sqlite> select * from student; 0|Jack|23|01 1|Rose|30|01 sqlite> update student set age=20 where id=1; sqlite> select * from student; 0|Jack|23|01 1|Rose|20|01 sqlite>

6.删除数据 delete from 表名; ---删除整个表的数据 删除数据 delete from 表名 where 条件;
sqlite> delete from person; sqlite> .tables person student sqlite> select * from person;

sqlite> select * from student; 0|Jack|23|01 1|Rose|20|01 sqlite> delete from student where age=23; sqlite> select * from student; 1|Rose|20|01

使用sqlite3接口编程

sqlite3数据库的使用_数据库_02 sqlite3---数据库句柄(结构体)

操作流程: 1.打开数据库 sqlite3_open int sqlite3_open( const char filename, / Database filename (UTF-8) */ sqlite3 *ppDb / OUT: SQLite db handle */ ); 参数:const char *filename --打开数据库文件名称比如demo.db sqlite3 **ppDb --存储打开数据库后的句柄 返回值: 成功返回SQLIET_OK

2.执行sql语句 sqlite3_exec int sqlite3_exec( sqlite3*, /* An open database / 句柄 const char sql, / SQL to be evaluated / 执行sql语句 int (callback)(void,int,char,char**), 查询回调函数 void , / 1st argument to callback / 传给回调函数第一个参数 char errmsg / Error msg written here / ); 存储错误 返回值: 成功返回SQLIET_OK int (callback)(void,int,char,char*), 查询回调函数 void * ---sqlite3_exec传入 int ---数据列数 char**---数据内容 char**---数据名称 int callback(void*arg, int col ,char** value, char** name) {

}

3.关闭数据库sqlite3_close int sqlite3_close(sqlite3*); 返回值: 成功返回SQLIET_OK