Chinaunix首页 | 论坛 | 博客
  • 博客访问: 590555
  • 博文数量: 226
  • 博客积分: 10080
  • 博客等级: 上将
  • 技术积分: 1725
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-26 11:15
文章分类

全部博文(226)

文章存档

2011年(5)

2010年(64)

2009年(99)

2008年(37)

2007年(21)

我的朋友

分类: LINUX

2010-02-06 17:59:05

    SQLite是一个小型的C程序库,实现了独立的,可嵌入的,零配置的SQL数据库引擎。特性包括:

  • 事务操作是原子,一致,孤立,并且持久的(ACID),即使在系统崩溃和电源故障之后。
  • 零配置——不需要安装和管理。
  • 实现了绝大多数SQL92标准。 ()
  • 整个数据库存储在一个单一的文件中。
  • 数据库文件可以在不同字节序的机器之间自由地共享。
  • 支持最大可达2T的数据库。 (241 字节)
  • 字符串和BLOB类型的大小最大可达 2G 字节(231字节)。
  • 小的代码: 完整配置的少于250KB,忽略一些可选特性的少于150KB。
  • 在大多数常见操作上比流行的客户/服务器数据库引擎
  • 简单,易于使用的
  • 内建。 可用于许多其他语言的绑定。
  • 具有良好注释的源代码,95%经过测试。
  • 独立:没有外部依赖。
  • 源代码位于。 可用于任何用途。

SQLite发行版包含一个独立的命令行访问程序(),可用于管理SQLite数据库,并适合作为一个如何使用SQLite库的例子。



相对于试图列出 SQLite 支持的所有 SQL92 特性,只列出不支持的部分要简单得多。 下面显示的就是 SQLite 所不支持的 SQL92 特性。

这个列表的顺序关系到何时一个特性可能被加入到SQLite。 接近列表顶部的特性更可能在不远的将来加入。 接近列表底部的特性尚且没有直接的计划。

外键约束(FOREIGN KEY constraints) 外键约束会被解析但不会被执行。
完整的触发器支持(Complete trigger support) 现在有一些触发器的支持,但是还不完整。 缺少的特性包括 FOR EACH STATEMENT 触发器(现在所有的触发器都必须是 FOR EACH ROW ), 在表上的 INSTEAD OF 触发器(现在 INSTEAD OF 触发器只允许在视图上), 以及递归触发器——触发自身的触发器。
完整的 ALTER TABLE 支持(Complete ALTER TABLE support) 只支持 ALTER TABLE 命令的 RENAME TABLE 和 ADD COLUMN。 其他类型的 ALTER TABLE 操作如 DROP COLUMN,ALTER COLUMN,ADD CONSTRAINT 等等均被忽略。
嵌套事务(Nested transactions) 现在的实现只允许单一活动事务。
RIGHT 和 FULL OUTER JOIN(RIGHT and FULL OUTER JOIN) LEFT OUTER JOIN 已经实现,但还没有 RIGHT OUTER JOIN 和 FULL OUTER JOIN。
可写视图(Writing to VIEWs) SQLite 中的视图是只读的。无法在一个视图上执行 DELETE,INSERT,UPDATE。 不过你可以创建一个试图在视图上 DELETE,INSERT,UPDATE 时触发的触发器,然后在触发器中完成你所需要的工作。
GRANT 和 REVOKE(GRANT and REVOKE) 由于 SQLite 读和写的是一个普通的磁盘文件, 因此唯一可以获取的权限就是操作系统的标准的文件访问权限。 一般在客户机/服务器架构的关系型数据库系统上能找到的 GRANT 和 REVOKE 命令对于一个嵌入式的数据库引擎来说是没有意义的, 因此也就没有去实现。

阅读(540) | 评论(0) | 转发(0) |
0

上一篇:PySqlite简明教程

下一篇:sqlite管理工具

给主人留下些什么吧!~~