sqlite3数据库归纳

sqlite3数据库归纳,第1张

概述sqlite3数据库是关系型数据库,体积小,支持ACID事物。 ( ACID ,指数据库事务正确执行的四个基本要素的缩写。包含: 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability) 。一个支持事务(Transaction)的数据库系统,必需要具有这四种特性,否则在事务过程(Transaction processing)当中无 sqlite3数据库是关系型数据库,体积小,支持ACID事物。
ACID ,指数据库事务正确执行的四个基本要素的缩写。包含: 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability) 。一个支持事务(Transaction)的数据库系统,必需要具有这四种特性,否则在事务过程(Transaction processing)当中无法保证数据的正确性,交易过程极可能达不到交易方的要求。
/********************************************/ sqlite是一个轻量级的嵌入式数据库。 特征: 1.零配置,无需安装和管理配置; 2.储存在单一磁盘文件中的一个完整的数据库; 3.数据库文件可以在不同字节顺序的机器间自由共享; 4.支持数据库大小至2TB; 5.足够小,全部源代码大致3万行c代码,250KB; 6.比以前流行的大多数数据库对数据的 *** 作要快;
/*******************************************/ sqlite数据库采用模块化设计,由8个独立的模块构成,这些独立模块又构成了三个主要的子系统,模块将复杂的查询过程分解为细小的工作进行处理。


/*******************************************/ 手工建数据库: linux@ubuntu:~$ sqlite3 my.db
查看帮助: sqlite> .help
文件存放位置: sqlite> .database
退出: sqlite> .quit
查看表: sqlite> .tables
显示表的结构: sqlite> .schema
1.建表: sqlite> create table usr(ID integer primary key,name text,age integer null,gender text,salary real not null); 2.删除表 sqlite> drop table usr; 3.增: sqlite> insert into usr(ID,name,age,salary) values(2,'liu',20,6000); 4.删 sqlite> delete from usr where ID = 2; 5.改: sqlite> update usr set gender = 'man' where ID = 3; 6.查: sqlite> select * from usr where ID = 2; 7.在表中添加字段 sqlite>alter table usr add column country text;
/******************************************/ 代码创建 sqlite编程接口 1.打开sqlite数据库 int sqlite3_open(char *path,sqlite3 **db); path: 数据库文件的路径 db: 指向sqlite句柄的指针 返回值: 成功返回0,失败返回错误码(非零值)
2.关闭sqlite数据库 int sqlite3_close(sqlite3 *db); 返回值: 成功返回0,失败返回错误码 3. const char *sqlite3_errmsg(sqlite3 *db); 返回值: 返回错误信息
程序的编译方法: gcc -o test test.c -lsqlite3
4.执行sql *** 作 typedef int (*sqlite3_callback)(voID *,int,char **,char **);
int sqlite3_exec(sqlite3 *db,const char *sql,sqlite3_callback callback,voID *,char **errmsg); db: 函数库句柄 sql: SQL语句 callback:回调函数 errmsg: 错误信息指针的地址 返回值: 成功返回0,失败返回错误码
5.每次找到一条记录自动执行一次回调函数 typedef int (*sqlite3_callback)(voID *para,int f_num,char **f_value,char **f_name); para: 传递回调函数的参数 f_num: 记录包含的字段数目 f_value: 包含每个字段值的指针数组 f_name: 包含每个字段名称的指针数组 返回值: 成功返回0,失败返回-1
6.不使用回调函数执行sql *** 作 int sqlite3_get_table(sqlite3 *db,char ***resultp,int *nrow,int *ncolumn,char **errmsg); db: 数据库句柄 sql: SQL语句 resultp: 用来指向sql执行结果的指针 nrow: 满足条件的记录的数目 ncolumn: 每条记录包含的字段数目 errmsg: 错误信息指针的地址 返回值: 成功返回0,失败返回错误码 总结

以上是内存溢出为你收集整理的sqlite3数据库归纳全部内容,希望文章能够帮你解决sqlite3数据库归纳所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1172999.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存