1、sqlite3数据库安装
a)本地安装
sudo dpkg -i *.deb
b)在线安装
sudo apt-get install-sqlite3
2、sqlite3基本命令
a)系统命令
以’ . ‘开头的命令
.help 帮助
.quit 退出
.exit 退出
b)sql命令
基本sql命令不以’ . ‘开头,但以’ ; ‘结尾
创建一张数据库表 stu (表名)
create table stu(id Integer,name char,score Integer);
插入
insert into stu values(1000,‘zhangsan’,80);
insert into stu (id,name)values(1001,‘wangwu’);//部分字段插入
插入一列
alter table stu add column address char;
删除
delete from stu;//删除全部
delete from stu where id=1000;//按条件删除
删除一列
sqlite3不支持直接删除一列
1)创建一张新表
create table stu1 as select id,name,score from stu;
2)删除原有表
drop table stu;
3)将新表名字改为原有的旧表名字
alter table stu1 rename to stu;
更新
update stu set name=‘wangwu’,score=88 where id=1000;//将id为1000的学生名字改为’wangwu’,分数改为88
查询记录
select * from stu;//查询所有字段
select name,score from stu;//查询部分字段
select * from stu where score=80;
select * from stu where score=80 and name=‘zhangsan’;
select * from stu where score=80 or name=‘zhangsan’//按条件查询字段
3、sqlite3编程接口
a)int sqlite3_open(char *path,sqlite3 **db);
功能:打开sqlite数据库
path:数据库文件路径
db:指向sqlite句柄的指针
返回值:成功返回0,失败返回错误码(非零值)
b)int sqlite3_close(sqlite3 *db);
功能:关闭sqlite数据库
返回值:成功返回0,失败返回错误码
c)const char *sqlite3_errmsg(sqlite3 *db);
功能:通过db句柄得到数据库的错误信息
返回值:返回错误信息的首地址
d)int sqlite3_exec(sqlite3 *db,const char *sql,sqlite3_callback callback,void *arg,char **errmsg);
功能:执行一条sql语句
db:数据库操作句柄
aql:一条sql语句
callback:回调函数,只有sql为查询语句的时候,才会执行此语句
arg:表示的是给回馈函数传递参数
errmsg:错误信息
返回值:成功返回SQLITE_OK
typedef int (*sqlite3_callback)(void *para,int f_num,char **f_value,char **f_name);
功能:每找到一条记录自动执行一次回调函数
para:传递给回调函数的参数
f_num:记录包含的字段数目
f_value:包含每个字段值的指针数组
f_name:包含每个字段名称的指针数组
返回值:成功返回0,失败返回-1
举例:
if(sqlite3_exec(db,“create table stu (id Integer,name char)”,NULL,NULL,&errmsg))
{
printf("%s\n",errmsg);
}
else
{
printf(“create table open success”);
}
e)不使用回调函数执行sql语句
int sqlite3_get_table(sqlite3 *db,const char *sql,char ***resultp,int *nrow,int *ncolumn,char **errmsg);
功能:执行sql操作
db:数据库句柄
resultp:用来指向sql执行结果的指针
nrow:满足条件的记录的数目
ncolumn:每条记录包含的字段数目
errmsg:错误信息指针地址
返回值:成功返回0,失败返回错误码