• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

sqlite3数据库的使用

互联网 diligentman 2天前 5次浏览

sqlite3相关知识

1.下载sqlite

下载地址:Sqlite3下载地址

2.编译sqlite3

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

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

3.测试

建立如图所示的数据库,该库中有student和person的数据表。
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数据库的使用
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


喜欢 (0)