轻型数据库SQLite结合PHP的开发
条评论SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
SQLite虽然很小巧,但是支持的SQL语句不会逊色于其他开源数据库,它支持的SQL包括:
1 | ATTACH DATABASE |
同时它还支持事务处理功能等等。也有人说它象Microsoft的Access,有时候真的觉得有点象,但是事实上它们区别很大。比如SQLite支持跨平台,操作简单,能够使用很多语言直接创建数据库,而不象Access一样需要Office的支持。如果你是个很小型的应用,或者你想做嵌入式开发,没有合适的数据库系统,那么现在你可以考虑使用SQLite。目前它的最新版本是 3.2.2,它的官方网站是:http://www.sqlite.org,能在上面获得源代码和文档。同时因为数据库结构简单,系统源代码也不是很多,也适合想研究数据库系统开发的专业人士。
现在我们开始简单的介绍,主要我是想讲清楚几个问题,一是如何安装使用,二是如何跟PHP结合开发。
一、安装
1. Windows平台
下载Windows下的文件,其实就是一个命令行程序,(下载地址:http://www.sqlite.org/sqlite-3_2_2.zip),这个命令行程序用来包括生成数据库文件、执行SQL查询、备份数据库等等功能。
下载后比如我们解压缩到 D:Downloadssqlitesqlite-3_2_2 这个目录下,那么我们进入cmd,并且进入该目录:
1 | cd D:Downloadssqlitesqlite-3_2_2 |
如果test.db不存在,那么就产生一个数据库文件,如果存在就直接使用该数据库文件,相当于mysql中的use
1 | SQLite version 3.2.2 |
SQLite的提示符,如果想查看命令帮助输入 .help,在sqlite中所有系统命令都是 . 开头的:
1 | sqlite> .help |
我们创建一个数据库catlog
1 | sqlite> create table catalog( |
如果表存在就会提示:
SQL error: table catalog already exists
我们创建索引信息
1 | create index catalog_idx on catalog (id asc); |
我们查看表的信息,看有多少个表
1 | sqlite> .table |
查看表的结构:
1 | sqlite> .schema catalog |
给数据表插入一条记录
1 | sqlite> insert into catalog (ppid,name) values ('001','heiyeluren'); |
成功无任何提示,如果表达式错误提示错误信息:
SQL error: near “set”: syntax error
检索有多少条记录
1 | sqlite> select count(*) from catalog; |
反正使用标准的SQL来操作就没有问题,不清楚可以去官方网站上查看帮助信息。另外还要说明的是SQLite不支持修改表结构,如果要修改表结构,只有删除表重新再建立,所以建立表的时候一定要考虑扩展性。估计以后这方面的功能会加强。
2. Linux/Unix 平台
error: 目前还没装过,呵呵,不过估计跟Windows差不多,改天把这部分内容补上。
二、PHP对SQLite的开发
PHP 5开始不再默认支持Mysql,而是默认支持SQLite,可见它的影响力多么大,所以如果你想做SQLite的PHP开发,建议你使用PHP 5.0.0以上版本,我目前使用的是 PHP 5.0.4版本,直接支持SQLite扩展,这里我就不仔细讲如何安装PHP扩展,如果不清楚可以查看PHP相关文档。
这里我主要是讲针对SQLite的开发。目前PHP的主流DB类都支持SQLite的驱动,包括PEAR::DB类、ADOdb类都支持,所以使用DB来来做开发也是个好的选择。
(以下操作为了简便,都是再Windows xp平台进行的)
1. 使用PHP操作已经建立好的sqlite数据库
如果你有一个已经通过sqlite.exe建立好了的数据库和表结构,那么你就能够直接对它进行操作。php中针对sqlite的处理函数比较多,你可以查看PHP手册获得详细信息。
我们使用sqlite_open()函数来打开一个sqlite数据库,它成功返回一个操作资源,失败返回false,那么以后的所有操作都是在这个资源上进行的,执行一个sql查询使用sqlite_query函数。
下面我假设你在当前PHP程序目录下有一个abc.db的sqlite数据库文件,我们对该文件进行操作:
1 |
|
我们看到的输出结果是:
1 | Array |
证明我们代码执行成功,没有输入请检查程序,或者你的数据库文件是否存在。
那么有了这个基本操作,你就能够考虑使用更复杂的操作和SQL来操作它,让它帮你管理信息,你可以做一个留言本,或者做一个CMS系统,我想都是没有问题的。
2. 使用PHP建立数据库并且操作
如果你没有任何sqlite.exe之类的工具,那么你也能够通过php来创建一个sqlite数据库,并且对它进行管理。
其实通过sqlite.exe程序建立的数据库,内容是空的,其实只有后来等创建表,添加数据以后,数据库文件才有,那么我们是不是能够手工添加一个文件,比如一个空的 test.db 文件,并且对它进行操作。这是完全可以,下面我们就使用PHP程序来完成创建一个数据库,并且执行简单的建立数据表,插入数据和检索数据的功能。
首先我们来看代码:(代码比较长,但比较容易理解)
1 | <?php |
如果你操作无误的话,那么程序最后输出:
1 | ID: 1 |
我们以上的程序包括了比较完整的功能,有调试、异常处理、存取数据库等功能,算是一个简单应用。如果你有兴趣也可以进行扩展。
- 结束:
我们基本的操作就讲到这里,以后有空我会把内容补全。如果大家有兴趣可以去研究一下,也许你的个人主页就需要这样的小型数据库来帮助你。
- 参考文档:
http://www.donews.net/limodou/archive/2004/03/21/7997.aspx
http://www.Linuxsir.org/bbs/showthread.php?p=1213668#post1213668
- SQLite资源
SQL语法: http://www.sqlite.org/lang.html
开发文档:http://www.sqlite.org/docs.html
常见问题:http://www.sqlite.org/faq.html
下载地址:http://www.sqlite.org/download.html
资源下载:
SQLite的源码:http://www.sqlite.org/sqlite-source-3_3_4.zip(包括sqlite3.h)
SQLite编译好的dll及def文件:http://www.sqlite.org/sqlitedll-3_3_4.zip
SQLite提供一个命令行shell的工具用以访问数据库,下载Windows下的SQLite命令行工具sqlite3.exe,
下载地址:http://www.sqlite.org/sqlite-3_3_4.zip。
网上有一款针对SQLite3的 UI工具-SQLite Spy。下载地址:www.yunqa.de/delphi/sqlitespy/
如果想通过ODBC来访问操作SQLite数据库,需要安装第三方组件库的SQLite ODBC Driver,
可以到"http://www.patthoyts.tk/sqlite3odbc.html"或者"http://www.ch-werner.de/sqliteodbc/"去下载.
也可以直接下载其ODBC的驱动安装程序:“http://www.ch-werner.de/sqliteodbc/sqliteodbc.exe”
现在SQLite ODBC Driver的版本为0.65.
然后在C++程序中就可以使用OTL来统一对数据库的访问。
SQLite的官方主站:http://www.sqlite.org/
SQLite的中文网:http://sqlitecn.feuvan.net/index.html
OTL的官方主站:http://otl.sourceforge.net/home.htm
本文标题:轻型数据库SQLite结合PHP的开发
文章作者:凹凸曼
发布时间:2013-09-17
最后更新:2024-09-28
原始链接:https://sobaigu.com/php-with-sqlite.html
版权声明:转载请务必保留本文链接和注明内容来源,并自负版权等法律责任。