SQLite的使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SQLite的使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2852字,纯文字阅读大概需要5分钟。
内容图文
![SQLite的使用](/upload/InfoBanner/zyjiaocheng/1236/efa045aba77d4858bdcbc2d3256ebc9e.jpg)
简介
SQLite官网
http://www.sqlite.org/
SQLite简介
SQLite是一款轻型的数据库,是遵守ACID(原子性、一致性、隔离性和持久性)的关系式数据库管理系统。SQLite实现了多数的SQL-92标准,包括事务、触发器和多数的复杂查询。
SQLite的设计目标是嵌入式的,它占用的资源非常低,目前在很多嵌入式产品中都使用了SQLite。
SQLite是跨平台的、可移植的,能够支持Windows/Linux/Unix等主流操作系统,同时SQLite能够和很多程序语言相结合,例如Tcl、C#、PHP和Java等。在C/C++程序中可以很方便的使用SQLite库,Python自2.5版本后也内置了SQLite模块,模块名为sqlite3。
SQLite第一个Alpha版本诞生于2000年5月。目前SQLite最新的版本是 3.11 。
SQLite的特性
- ACID事务
- 开放源代码
- 小巧、独立、简单易用,同时功能不落后于流行的数据库
- 整个数据库存储在一个文件中,不需要服务器支持
- 跨平台,支持Windows/Linux/Unix等主流操作系统
- 支持多种开发语言,C, C++,PHP, Perl, Java, C#,Python等
- 简洁易用的API接口
SQLite 管理客户端
- SQLiteMan,使用QT开发的一个SQLite客户端,支持多语言、跨平台。
- SQLite Manager, 以火狐浏览器的扩展形式提供的SQLite客户端。
- SQLite Database Browser, a graphical client to access SQLite databases
- SqlPro SQL Client, another graphical client to work with SQLite databases
- SQLiteStudio2(Tcl/Tk界面): http://sqlitestudio.pl/files/free/stable/
- SQLiteStudio3(Qt/C++重写): http://sqlitestudio.pl/files/sqlitestudio3/complete/
安装
(一)通过编译源码安装
下载地址 https://www.sqlite.org/download.html
下载文件 sqlite-autoconf-3110000.tar.gz
// 解压 tar zxvf sqlite-autoconf-3110000.tar.gz // 安装 cd sqlite-autoconf-3110000 ./configure --prefix=/usr/local make make install
源码编译会生成这样几个等的文件:
/usr/bin/sqlite3
/usr/local/include/sqlit3.h
/usr/local/lib/libsqlite3.so
(二)通过包安装SQLite
sudo apt-get install sqlite3 libsqlite3-dev
编译程序的时候需要这样
gcc dbtest.c -o dbtest –lsqlite3
注:-l和sqlite3之间可以有空格。
(三)不安装SQLite编译程序
在Linux系统上,将dbtest.c程序保存在libsqlite3.so , sqlite3和sqlite3.h同一个目录下。
可以通过执行这条命令编译文件:
gcc dbtest.c -o dbtest -lsqlite3 -L.
sqlite3二进制程序和sqlite3.h都可以在SQLite官网下载到,libsqlite3.so的获取有两种方法:
1)通过源码编译会在/usr/local/lib/目录下生成libsqlite3.so文件,cp出来就可以了;
2)在系统/usr/lib/x86_64-linux-gnu目录下本来就有(我是64位的系统)。
如果安装了libsqlite3-dev,该目录下会多出如下的文件:
小测试
下面就是dbtest.c的程序,只有打开和关闭的操作。
#include <stdio.h> #include <stdlib.h> #include <sqlite3.h> int main(void) { sqlite3 *db = NULL; int rc;
// 打开数据库,不存在会创建一个新的 rc = sqlite3_open("my.db",&db); if(rc) // 不为0,打开失败 { fprintf(stderr,"Can‘t open database:%s\n",sqlite3_errmsg(db)); sqlite3_close(db); exit(1); } else { printf("open db success!\n"); sqlite3_close(db); } return0; }
编译时常见的错误
1)没有找到头文件,错误信息包含下面这句:
sqlite3.h: 没有那个文件或目录
2)没有找到库文件,错误信息包含下面这些句子:
: undefined reference to `sqlite3_open‘
: undefined reference to `sqlite3_errmsg‘
: undefined reference to `sqlite3_close‘
: undefined reference to `sqlite3_close‘
gcc的-l、-L、-I参数
-l参数就是用来指定程序要链接的库,例如本程序中要链接libsqlite3.so,去掉前后缀就是了。
放在/lib和/usr/lib和/usr/local/lib里的库直接用-l参数就能链接了。
如果库文件不在这3个目录下,譬如说自己写的库,就需要用-L+Dir的方式指定库文件的目录。
-include、-I参数是用来指定头文件目录,gcc默认目录是/usr/include
SQLite API 函数
下次再补
其他
使用VC将sqlite3.def转化为sqlite3.lib
http://www.letuknowit.com/topics/20120421/convert-sqlite-def-to-sqlite-lib.html/
windows系统中使用C/C++操作sqlite数据库示例程序
http://www.letuknowit.com/topics/20120422/use-c-or-cplusplus-connect-to-sqlite-in-windows.html/
原文:http://www.cnblogs.com/luoxu34/p/5235737.html
内容总结
以上是互联网集市为您收集整理的SQLite的使用全部内容,希望文章能够帮你解决SQLite的使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。