当前位置:文档之家 > 基于C API的SQLite3基本数据库操作

基于C API的SQLite3基本数据库操作

基于C API的SQLite3基本数据库操作

这里把近期几个项目中总结下来的SQLite数据库使用经验归纳一下,共享出来,一来便于自己查阅,二来也便于和朋友们一起互相学习。

这里先简单介绍一下SQLite数据库,给未接触过的朋友扫扫盲:
SQLite是一款开源嵌入式文件型数据库,这个主要是和其他一些C/S架构的关系型数据库比较而来的,比如MySQL等。

说他是嵌入式,因为SQLite的所有功能全部包装在一个dll中,我们只需要使用其中的导出接口就可以操作SQLite数据库,这样使得数据存储功能能够很方便的集成进用户的程序中,并运行在客户程序的进程空间中

说他是文件型,因为SQLite的数据库文件就是一个独立文件(SQLite本身不限制数据库文件的扩展名),再没有其他的了,数据,表结构,查询,视图等等都保存在这个数据库文件中,不会依赖任何数据库环境

SQLite的主要特点:
1。无需部署,0配置,无服务端
2。跨平台
2。数据文件管理方便
3。较完善的SQL92标准支持,SQLite基本实现了SQL92标准,其他的一些不兼容的地方,可以参看官方相关说明,链接:
http://www.doczj.com/doc/2d580818c5da50e2524d7f11.html /omitted.html
4。SQL语句执行速度快,具体的对比数据,网上的评测有很多,这里就不多说了
5。应用较广。最著名的集成应该数Android了吧,其他的PHP ,Python等都做了集成,所以还是很不错的
6。完美的Unicode编码支持。SQLite的接口中,凡是涉及字符串的都是用UTF8或UTF16编码交互,有的同时提供这两种编码的接口函数,所以多语种支持绝对不是问题(这也是我偏爱SQLite的很重要的原因,呵呵)。

好了,下面说说基于C API的SQLite操作,这里谢绝讨论其他的一些包装库,这不是本文的范围,当然SQLite的接口包装库函数还是很多的,基本覆盖各种主流开发语言。如基于Object Pascal的sqlitesimpledelphi,想了解这个库的朋友可以查看我的其他博文:
Delphi 2010下使用sqlitesimpledelphi连接SQLite数据库及中文乱码问题的解决
http://www.doczj.com/doc/2d580818c5da50e2524d7f11.html /2356/blog/item/4a5549366d94afd6a3cc2bc7.html
sqlites
impledelphi修正以支持Unicode,Delphi 2010 测试通过
http://www.doczj.com/doc/2d580818c5da50e2524d7f11.html /2356/blog/item/236ceb2455f2520c4c088db2.html

SQLite的数据库操作其实和常规的数据库操作流程是一样的:
1。连接数据库。
2。构造SQL语句并执行
3。对于SELECT语句,可以获取查询结果
4。数据库使用完毕之后,关闭数据库

这里说明一下,下面所介绍的函数不会涵盖所有的API函数,毕竟SQLite针对同一个功能点提供了不同的API函数,主要表现在参数和配置功能上,有需要深入了解的朋友可以参考官方的文档。

1。打开数据库:
API函数:
int sqlite3_open(
const char *file

基于C API的SQLite3基本数据库操作

这里把近期几个项目中总结下来的SQLite数据库使用经验归纳一下,共享出来,一来便于自己查阅,二来也便于和朋友们一起互相学习。

这里先简单介绍一下SQLite数据库,给未接触过的朋友扫扫盲:
SQLite是一款开源嵌入式文件型数据库,这个主要是和其他一些C/S架构的关系型数据库比较而来的,比如MySQL等。

说他是嵌入式,因为SQLite的所有功能全部包装在一个dll中,我们只需要使用其中的导出接口就可以操作SQLite数据库,这样使得数据存储功能能够很方便的集成进用户的程序中,并运行在客户程序的进程空间中

说他是文件型,因为SQLite的数据库文件就是一个独立文件(SQLite本身不限制数据库文件的扩展名),再没有其他的了,数据,表结构,查询,视图等等都保存在这个数据库文件中,不会依赖任何数据库环境

SQLite的主要特点:
1。无需部署,0配置,无服务端
2。跨平台
2。数据文件管理方便
3。较完善的SQL92标准支持,SQLite基本实现了SQL92标准,其他的一些不兼容的地方,可以参看官方相关说明,链接:
http://www.doczj.com/doc/2d580818c5da50e2524d7f11.html /omitted.html
4。SQL语句执行速度快,具体的对比数据,网上的评测有很多,这里就不多说了
5。应用较广。最著名的集成应该数Android了吧,其他的PHP ,Python等都做了集成,所以还是很不错的
6。完美的Unicode编码支持。SQLite的接口中,凡是涉及字符串的都是用UTF8或UTF16编码交互,有的同时提供这两种编码的接口函数,所以多语种支持绝对不是问题(这也是我偏爱SQLite的很重要的原因,呵呵)。

好了,下面说说基于C API的SQLite操作,这里谢绝讨论其他的一些包装库,这不是本文的范围,当然SQLite的接口包装库函数还是很多的,基本覆盖各种主流开发语言。如基于Object Pascal的sqlitesimpledelphi,想了解这个库的朋友可以查看我的其他博文:
Delphi 2010下使用sqlitesimpledelphi连接SQLite数据库及中文乱码问题的解决
http://www.doczj.com/doc/2d580818c5da50e2524d7f11.html /2356/blog/item/4a5549366d94afd6a3cc2bc7.html
sqlitesimpledelphi修正以支持Unicode,Delphi 2010 测试通过
http://www.doczj.com/doc/2d580818c5da50e2524d7f11.html /2356/blog/item/236ceb2455f2520c4c088db2.html

SQLite的数据库操作其实和常规的数据库操作流程是一样的:
1。连接数据库。
2。构造SQL语句并执行
3。对于SELECT语句,可以获取查询结果
4。数据库使用完毕之后,关闭数据库

这里说明一下,下面所介绍的函数不会涵盖所有的API函数,毕竟SQLite针对同一个功能点提供了不同的API函数,主要表现在参数和配置功能上,有需要深入了解的朋友可以参考官方的文档。

1。打开数据库:
API函数:
int sqlite3_open(
const char *file

下载Word文档免费下载:

基于C API的SQLite3基本数据库操作下载

(共4页)

Linux下用C-C++数据库sqlite3开发笔记

Linux 下用 C/C++数据库 sqlite3 开发笔记 最近在 Linux 下用到数据库 ...opendbsqlite.c // This prog is used to test C/C++ API for sqlite3.It...

SQLITE3 CC++ 开发接口简介(API函数)

SQLITE3 CC++ 开发接口简介(API函数)_电子/电路_工程科技_专业资料。1.0 ...13 的代码基础之上开发的,但是使用了和之前的 版本不兼容的数据库格式和 API...

用c语言操作sqlite3

用c语言操作sqlite3_计算机软件及应用_IT/计算机_专业资料。用c语言操作sqlite3...基于C API的SQLite3基本... 4页 免费 C语言中关于文件操作 5页 免费 C语言...

SQLITE3在C编程的使用

SQLITE3C编程的使用_电子/电路_工程科技_专业资料。Sqlite3C 编程的...SQLite3-API 6页 免费 sqlite3的操作 4页 免费 嵌入式数据库SQLITE3使用....

9.C数据库编程-SQLite3 API

介绍使用SQLyog进行连接、导入/导出数据的基本操作。...第3章 MySQL之C语言编程 01 数据库编程与API 15...11 【实战】学生信息管理(基于SQLite的实现) 34分钟...

C语言C++学习指南(数据库篇)MySQL与SQLite

丰富的接口函数, 使得利用 C 语言来实现 对 SQLite 数据库的管理、操作和维护...(3) 函数的返回值是一个 sqlite 结构的指针,一般将传递给其他的 SQLite API ...

第5章 基于SQLite的C语言编程1

C语言访问sqlite3_计算机软件及应用_IT/计算机_专业资料。C 语言访问 sqlite3 ...相当于一个数据库句柄。 返回值:函数返回值表示操作是否正确,如果是 SQLITE_OK...

C语言访问sqlite3

SQLite C语言接口 语言接口主讲: 主讲:宁恒生 主要...sqlite3数据库连接对象 用来操作数据库数据库...全面解析 SQLite 124页 5下载券 SQLite3-API 6页...

SQLite C语言接口

pyt hon 的数据库模块有统一的接口标准,所以数据库操作都有统一的模式,基本上...from sqlite3 import dbapi2 conn=dbapi2.connect("c:\\mytest.db") sql...