SQLite 一个轻量级别数据库

转载 2006年05月18日 00:51:00
       
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=new SQLiteDatabase($db_name0644$error);
if (
$error) exit($error); 

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

$db->queryexec("
    CREATE TABLE user (
    user VARCHAR ( 100 ) NOT NULL PRIMARY KEY,
    pass VARCHAR ( 100 ) NOT NULL,
    date INTEGER NOT NULL,
    );
    CREATE INDEX user_date ON user(date);
"
); 

插入一条数据

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

对某条记录进行更新

$db->query("UPDATE user SET password='password1' WHERE user='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("SELECT password FROM user WHERE user='admin'");
// $r 则为返回来的 password1 字符串 

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


$r=$db->fetchAll("SELECT user, password FROM user");
print_r($r); 



使用SQLite最大的好处是不用依赖使用其它DB,而且基本不需要担心DB server崩溃了你的程序就跟着挂了。
另外就是C/C++/delphi/java的可以把整个数据库引擎内嵌,不需要调用其它API,接口等


相关文章推荐

SQLite 一个轻量级别数据库

SQLite 一个轻量级别数据库, 具有很多不错的特点。 支持事件 不需要配置,不需要安装,也不需要管理员 支持大部分SQL92 一个完整的数据库保存在磁盘上面一个文件 同一个数据库...

sqlite3,轻量级数据库

  • 2012-08-21 10:29
  • 475KB
  • 下载

轻量级的ORM框架Peewee访问sqlite数据库

一、安装peewee c:\Python27\Scripts>pip install peewee Collecting peewee Downloading peewee-2.8.5.tar.g...

轻量级数据库 SQLite 的安装和使用

轻量级数据库 SQLite 的安装和使用 (1) SQLite 介绍    参见百度百科:http://baike.baidu.com/view/19310.htm      官网:http...
  • zklth
  • zklth
  • 2012-01-10 15:51
  • 1810

Python信息采集器使用轻量级关系型数据库SQLite

Python自带一个轻量级的关系型数据库SQLite。这一数据库使用SQL语言。SQLite作为后端数据库,可以搭配Python建网站,或者为python网络爬虫存储数据。SQLite还在其它领域有广...

android开发轻量级数据库SQLite

android开发app难免要存储一些数据到本地,作为缓存,这就要用到安卓系统的SQLite 数据库用于存储数据,数据以文档的形式存到本地外部存储空间。 SQLite与mySQL存储方...

3.1Android中,Sqlite轻量级数据库的使用

SQ.Lite是轻量级的数据库,是遵循ACID(原子性、一致性、隔离性、持久性)的关联式数据库管理系统,多用于嵌入式开发,值得注意的是 integer primary key只能存储64位整数。 在...

C/C++下使用SQLite轻量级数据库

最近公司研发组研发一个产品使用了这个轻量级的数据库,感觉的特别有趣,就初步看看。 一、SQLite SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,...

SQLite轻量级数据库简介(转)

SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)