Sqlite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在了一个相对小的C库中。它是D.RichardHipp建立的共有领域项目。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用的资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
数据类型(Typelessness无类型)
SQLITE是无类型的,这意味着你可以保存任何类型的数据到你所想保存的任何表的任何列中,无论这列声明的数据类型是什么,对于SQLite来说对字段不指定类型是完全有效的。如:create table 表名(a,b,c)
sqlite增删改查语句
进入或创建数据库
查看库中有哪些表
创建一个表
往表里插入数据
修改表里的数据
修改后结果如下:
查询表里所有的数据
查询表中某一字段的数据
条件查询
删除表中某一字段的数据
根据某两个字段同时查找记录:
比较运算符:>,<,>=,<=,=,!=,<>
主键自增
Sqlite3中提供了主键自增的字段,在建表时,主键加上AUTOINCREMENT,该字段就可以实现主键自增,例:创建表
插入数据时只需要讲主键位置写成NULL即可
用C语言操作sqlite数据库
1.如何连接到数据库?
sqlite3* db;//创建数据库语句
int ret = 0;
ret = sqlite3_open("xuedao.db",&db);//打开或创建数据库
if(ret != SQLITE_OK)
{
perror("sqlite open error ");
return -1;
}
2.对sqlite数据库的查询,以及结果集显示
int callback(void *p,int n,char **value,char **file)//查询结果通过回调函数返回
{
sprintf((char*)p,"%s,%s",value[0],value[1]);
}
Int main()
{
char res[1024] = {0};//查询表结果存储
char *err = NULL;
ret = sqlite3_exec(db,"select *from student",callback,res,&err);
if(ret != SQLITE_OK)
{
perror("sqlite exec error ");
return -1;
}
else
{
printf("res = %s ",res);
}
}
3.数据库对象记录的增加、删除、修改
sqlite3_exec(db,"insert into student values(1,'tom',19)",NULL,NULL,&err);
sqlite3_exec(db,"delete from student where id = 2",NULL,NULL,&err);
sqlite3_exec(db,"update student set name='tom' where id=1",NULL,NULL,&err);