一、数据库的安装:
1、将sqlite3安装包移动到Linux/tmp)
2、解压:tar -xzvf sqlite-autoconf-3071700.tar.gz
3、进入文件:cd sqlite-autoconf-3071700
4、运行./configure(用来生成makefile文件)
5、make
6、sudo make install
二、数据库的启动
sqlite3 student.db
(其中student.db是要操作的数据库文件,如果不存在就会自动新建。一个新的空数据库)
三、sqlite3命令行工具
.exit,退出sqlite互动模式的命令
.help,列出命令的提示信息
.tables,显示数据库中所有表名。
.schema查看表结构
.datebase 显示当前打开的数据库文件
四、创建表
用create语句在数据库中创建表
create table student(
ID INTEGER,
name TEXT,
sex TEXT,
age INTEGER,
primary key(ID)
);
五、增加一列数据以及表的重命名
alter table stu rename to stu2;//将表stu重命名为stu2
alter table stu1 add column sex text;//在表stu1中增加sex列
六、删除表
drop table student; //将表 student 删除
七、插入记录以及查询
insert into student values(1,'zhang','M',18); //插入新纪录
select id from stu1; //查找stu1中的id
select * from stu1; //查找stu1中的所有信息
select * from stu1 order by id; //按ID的顺序查找stu1中的所有信息
select * from stu1 order by id asc; //按id的正顺序查找stu1的所有信息
select * from stu1 order by id desc; //......倒序查询
select * from stu1 where id >3; //查找id>3 的所有信息
select * from stu1 where id between 2 and 4;
select * from stu1 where id >=2 and id<=4; //查找2<=id<=4的所有信息
select * from stu1 where name like 'T%'; //T开头的名字的所有信息
select * from stu1 where name like '%T%'; //有T的名字 的所有信息
八、修改记录
update stu1 ?set name ='wim'where id =2; //将表stu1中id=2的那么改为wim
九、删除记录
delete from student where ID=2;
如果没有where子句,则整张表都会被删掉成为一张空表;
十、打开数据库
#include //头文件
int sqlite3_open (文件名,sqlite3**);
这个函数开始数据库操作。传入两个参数,文件名 eg:database.db。
(如果此文件不存在,sqlite会自动建立)
代码段:
int main()
{
sqlite3 *db =NULL;
int result;
result=sqlite3_open("database.db",&db);
if(result!=SQLITE_OK)
{
return -1;
}
sqlite3_close(db);
return 0;
}
十一、执行sql语句
int sqlite3_exec(sqlite3*,const char * sql,sqlite3_callback,viod*,char **errmsg);
这是 执行一条sql语句的函数。
1、第一个参数:前面open函数得到的指针;
2、const char *sql: 一条sql语句,以\0结尾;
3、sqlite3_callback 是回调 ,当这条语句执行完之后,sqlite3 会去调用你提供的函数;
4、viod*:这个参数最终会传到回调函数里,如果不需要传递指针给回调函数,可以填NULL;
5、char ** errmsg:这是错误信息。 注意 是指针的指针。sqlite3里面有很多固定的错误信息
执行sqlite3_exec之后,执行失败时可以查阅这个指针(直接printf("%s\n",errmsg);)
得到一个字符串信息告诉你错在哪?
6、编译时需要加入-lsqlite3的库文件。