SQLite 一个轻量级别数据库

SQLite 一个轻量级别数据库,第1张

概述        SQLite 一个轻量级别数据库, 具有很多不错的特点。 官方网站: http://www.sqlite.org/   中文社区: http://www.sqlite.com.cn/ 转至:http://www.ugia.cn/?p=41 支持事件 不需要配置,不需要安装,也不需要管理员 支持大部分SQL92 一个完整的数据库保存在磁盘上面一个文件 同一个数据库文件可以在不同机器上
sqlite 一个轻量级别数据库,具有很多不错的特点。
官方网站: http://www.sqlite.org/ 中文社区: http://www.sqlite.com.cn/

转至:http://www.ugia.cn/?p=41

支持事件
不需要配置,不需要安装,也不需要管理员
支持大部分sql92
一个完整的数据库保存在磁盘上面一个文件
同一个数据库文件可以在不同机器上面使用
最大支持数据库到2T
字符和BLOB的支持仅限制于可用内存
整个系统少于3万行代码,少于250KB的内存占用(gcc)
大部分应用比目前常见的 客户端/服务端 的数据库快
没有其它依赖
源代码开放,代码95%有较好的注释
简单易用的API. 官方带有TCL的编译版本。其它的单独提供

PHP 从 5.x 开始默认内置编译了sqlite,4.x 需要通过pear 来安装 pear install sqlite sqlite 常用于嵌入到程序, 为一些需要数据库,但是不必要安装中/大型的数据库,而且进行的是比较普通的 *** 作(例如select/insert/delete之类的)

PHP的sqlite的一些例子
以下为打开一个名叫sqlite.db的库,如果不存在,会创建一个(需要目录可写)

$db_name='sqlite.db';
$db=newsqliteDatabase($db_name,0644,$error);
if(
$error)exit($error);

创建一个表,三个字段
user,主键,非空,长度100的varchar
pass,长度100的varchar
date,整型,索引
这里使用了queryExec 而不是 query.因为只是执行,不需要返回结果
注意:在sqlite里面query也是可以执行多行语句,但是如果有结果返回的,则只会有执行第一个有结果返回的命令。
执行失败将会返回FALSE.

$db->queryexec("
CREATEtableuser(
userVARCHAR(100)NOTNulLPRIMARYKEY,
passVARCHAR(100)NOTNulL,
dateINTEGERNOTNulL,
);
CREATEINDEXuser_dateONuser(date);
"
);

插入一条数据

$db->query("INSERTINTOuser(user,pass,date)VALUES('admin','password',123456789)");
$db->query("INSERTINTOuser(user,date)VALUES('super','password2',123456790)");

对某条记录进行更新

$db->query("UPDATEuserSETpassword='password1'WHEREuser='admin'");

查询
PHP下面sqlite的查询有很多形式
sqlite_array_query 进行一个查询,直接将返回的结果放入array
sqlite_query 是个普通的执行命令,返回为handle

返回来的handle 可以通过以下来获取结果
sqlite_fetch_all 获取所有结果并且将每条结果作为array,然后放入一个大的array里面
sqlite_fetch_array 获取下一个结果作为array
sqlite_fetch_column_types — Return an array of column types from a particular table
sqlite_fetch_object 获取下一个结果返回一个对象(obj)
sqlite_fetch_single 只获取第一列结果,返回为字符变量
sqlite_fetch_string 等同于 sqlite_fetch_single

因此会很方便写数据库的查询
例子:

$r=$db->singlequery("SELECTpasswordFROMuserWHEREuser='admin'");
//$r则为返回来的password1字符串

$q=$db->query("SELECT*FROMuser");
while(
$r=$q->fetch()){
echo
"User:$r[user]Password:$r[pass]Date:$r[date]n";
}

$r=$db->fetchAll("SELECTuser,passwordFROMuser");
print_r($r);
使用sqlite最大的好处是不用依赖使用其它DB,而且基本不需要担心DB server崩溃了你的程序就跟着挂了。 另外就是C/C++/delphi/java的可以把整个数据库引擎内嵌,不需要调用其它API,接口等 总结

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

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

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

原文地址: http://outofmemory.cn/sjk/1178642.html

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

发表评论

登录后才能评论

评论列表(0条)

保存