嵌入式数据库SQLite的基本使用

1.SQLite的优点

SQLite是一个非常轻量级自包含(lightweight and self-contained)的DBMS,它可移植性好,很容易使用,很小,高效而且可靠。SQLite嵌入到使用它的应用程序中,它们共用相同的进程空间,而不是单独的一个进程。从外部看,它并不像一个RDBMS,但在进程内部,它却是完整的,自包含的数据库引擎。

嵌入式数据库的一大好处就是在你的程序内部不需要网络配置,也不需要管理。因为客户端和服务器在同一进程空间运行。SQLite 的数据库权限只依赖于文件系统,没有用户帐户的概念。SQLite 有数据库级锁定,没有网络服务器。它需要的内存,其它开销很小,适合用于嵌入式设备。你需要做的仅仅是把它正确的编译到你的程序。

2.常用命令介绍

2.1.sqlite3 指令(通常以 . 开头)

2.1.1创建或打开一个数据库文件
在终端下运行 sqlite3 name.db 指令,<name.db> 是要打开的数据库文件。若该文件不存在,则自动创建。name为数据库名称。
在这里插入图片描述
由于其他的命令在创建之后便比较简单,这里就不一一举例,大概有下列命令;

  1. 显示当前打开的数据库文件:sqlite > .database。
  2. 显示数据库中所有表名:sqlite > .tables。
  3. 查看表的结构:sqlite > .schema <table_name>。
  4. 显示所有命令:sqlite > .help。
  5. 退出 sqlite3:sqlite > .quit。
2.2SQL命令(每个命令以 ;结束)

2.2.1.创建新表

sqlite > create table <table_name> (f1 type1, f2 type2,...);

在这里插入图片描述
type为数据类型:NULL,INTEGER,REAL,TEXT,BLOB
注意:若未指定类型,默认是字符串,向表中添加新纪录时要加 “”;

2.2.2.删除表

 sqlite > drop table <table_name>;

在这里插入图片描述
从上图可以看到,我又重新创建了一个表user3,执行删除命令后,就只有usr2表了。

后面更多的命令使用方法和上面两个相同,我就不一一举例了:

  1. 查询表中所有记录sqlite >select * from <table_name>;
  2. 按指定条件查询表中记录sqlite >select * from <table_name> where <expression>;
  3. 向表中添加新纪录sqlite >insert into <table_name> values(value1,value2,...);
  4. 按指定的条件删除表中记录sqlite >delete from <table_name> where <expression>;
  5. 更新表中记录sqlite > updata <table_name> set <f1=value1>,<f2=value2>... where <expression>;
  6. 在表中添加字段sqlite > alter table <table> add column <field><type> defalut... ;

3.SQLite编程函数

3.1sqlite3_open()

函数原型:

int sqlite3_open(const char *fileName, sqlite3 **ppDB); 

函数功能:打开一个数据库;若该数据库文件不存在,则自动创建。打开或者创建数据库的命令会被缓存,直到这个数据库真正被调用的时候才会被执行。

输入参数:fileName,待打开的数据库文件名称,包括路径,以’\0’结尾;特别说明:SQLite支持内存数据库,内存方式存储使用文件名“:memory:”

输出参数:ppDB,返回打开的数据库句柄;

返回值:执行成功返回SQLITE_OK,否则返回其他值;

3.2sqlite3_close()

函数原型:

int sqlite3_close(sqlite3 *pDB);

函数功能:关闭一个打开的数据库;

输入参数:pDB,打开的数据库句柄;

输出参数:无

返回值:执行成功返回SQLITE_OK,否则返回其他值;

3.3sqlite3_errmsg()

函数原型:

const char *sqlite3_errmsg(sqlite3 *pDB);

函数功能:获取最近调用的API接口返回的错误说明,这些错误信息UTF-8的编码返回,并且在下一次调用任何SQLiteAPI函数时被自动清除;

输入参数:pDB,打开的数据库句柄

输出参数:无

返回值:错误说明的字符串指针

3.4sqlite3_exec()

函数原型:

int sqlite3_exec(sqlite3 *pDB,constchar *sql, sqlite_callback callback,void *para,char **errMsg);

函数功能:编译和执行零个或多个SQL语句,查询的结果返回给回调函数callback。

输入参数:pDB,数据库句柄;sql,待执行的SQL语句字符串,以’\0’结尾;callback,回调函数,用来处理查询结果,如果不需要回调(比如做insert或者delete操作时),可输入NULL;para,用户传入的参数,可以为NULL,该参数指针最终会被传给回调函数callback,供用户在回调函数中使用;

输出参数:errMsg,返回错误信息,注意是指针的指针。

返回值:执行成功返回SQLITE_OK,否则返回其他值。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值