SQLite

维基百科,自由的百科全书
跳转至: 导航搜索
SQLite
SQLite370.svg
開發者 D. Richard Hipp
初始版本 2000年8月  (2000-08)
穩定版本 3.8.7 / 2014年10月17日(8天前) (2014-10-17)
操作系统 跨平台
语言 C语言
类型 开发库
许可协议 公有领域
網站 http://www.sqlite.org

SQLite是遵守ACID关系数据库管理系统,它包含在一个相对小的C程式庫中。它是D.RichardHipp建立的公有领域项目。

不像常见的客户端/服务器结构范例,SQLite引擎不是个程序与之通信的独立进程,而是連結到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都存储在主機端上單一個文件中。此種簡潔的设计是透過寫入時锁定整个数据文件而完成的。

特征[编辑]

程式庫实现了多数的SQL-92标准,包括事务,就是代表原子性一致性隔離性持久性的(ACID),触发器和多数的复杂查询。不进行类型检查。你可以把字符串插入到整数列中。例如,某些用户发现这是使数据库更加有用的创新,特别是与无类型的脚本语言一起使用的时候。其他用户认为这是主要的缺点。

多个进程线程可以同時存取同一个数据而没有问题。可以同時平行讀取同一個資料庫。但同一時間只能有一個进程或线程進行資料寫入;否则會寫入失敗並得到一個錯誤訊息(或者會自動重試一段時間,而這重試時間的長短是可以設定的)。

程式設計者還提供了一個叫做sqlite3的独立程序用来查询和管理SQLite数据库文件。SQLite的使用者可以把這個程式當作如何寫SQLite應用程式的範例。

语言绑定[编辑]

可以从C/C++程序中使用这个程式庫,还可以获得对Tcl和一些其他脚本语言的绑定。

CPANDBD::SQLite上有一个PerlDBI/DBD模块,它不是到SQLite的接口,而是包括整个SQLite数据库引擎在其中并不需要任何额外的软件。

Python自2.5之后将pysqlite内置,模块名为sqlite3。[1]

PHP从PHP 5.0开始已經包含SQLite,但是自5.1版之後,SQLite開始成為一個延伸函式庫。SQLite能与PHP4一起工作,但不包含在PHP4里面。

Rails2.0.3将缺省的数据库配置改为了SQLite 3。

Delphi:DISQLite3作为Delphi的一个第三方控件,不是SQLite的API,也不是接口,而是把SQLite数据库引擎重新封装编译到Delphi的目标程序中。

SQLite管理客户端[编辑]

SQLite亦可以作为桌面数据库使用,以下为第三方SQLite的GUI软件。例如,

  • Navicat for SQLite是一套專為SQLite設計的強大資料庫管理及開發工具。它可以用於任何版本2或3的SQLite資料庫,並支援大部份SQLite的功能,包括觸發器、索引、檢視等。。
  • SQLiteMan,使用Qt开发的一个SQLite客户端,支持多语言、跨平台。
  • SQLite Manager,以Firefox浏览器的扩展形式提供的SQLite客户端。
  • SQLite Database Browser,一款连接SQLite数据库的图形客户端。

SQLite 常用函数[编辑]

SQLite 有许多内置函数用于处理字符串或数字数据。下面列出了一些有用的 SQLite 内置函数,且所有函数都是大小写不敏感,这意味着您可以使用这些函数的小写形式或大写形式或混合形式。

序号 函数 描述
1 SQLite COUNT 函数 SQLite COUNT 聚集函数是用来计算一个数据库表中的行数。
2 SQLite MAX 函数 SQLite MAX 聚合函数允许我们选择某列的最大值。
3 SQLite MIN 函数 SQLite MIN 聚合函数允许我们选择某列的最小值。
4 SQLite AVG 函数 SQLite AVG 聚合函数计算某列的平均值。
5 SQLite SUM 函数 SQLite SUM 聚合函数允许为一个数值列计算总和。
6 SQLite RANDOM 函数 SQLite RANDOM 函数返回一个介于 -9223372036854775808 和 +9223372036854775807 之间的伪随机整数。
7 SQLite ABS 函数 SQLite ABS 函数返回数值参数的绝对值。
8 SQLite UPPER 函数 SQLite UPPER 函数把字符串转换为大写字母。
9 SQLite LOWER 函数 SQLite LOWER 函数把字符串转换为小写字母。
10 SQLite LENGTH 函数 SQLite LENGTH 函数返回字符串的长度。
11 SQLite sqlite_version 函数 SQLite sqlite_version 函数返回 SQLite 库的版本。

參見[编辑]

参考资料[编辑]

  1. ^ [1]

外部链接[编辑]

数据库管理系统(DBMS) (查看 · 讨论 · 编辑)

概念
数据库 · 数据模型 · 数据库存储结构英语Database storage structures · 关系 (数据库) · 关系模型 · 分布式数据库 · ACID ( 原子性英语Atomicity (database systems) · 一致性 · 隔離性 · 持久性 ) · Null值
关系数据库 · 关系模型 · 数据库规范化 · 數據庫完整性 · 實體完整性 · 參照完整性英语Referential integrity · 关系数据库管理系统 
主键 · 外键 · 代理键 · 超键 · 候选键 

数据库组件
触发器 · 视图 · 数据库表 · 指标 (数据库) · 事务日志英语Transaction log · 数据库事务 · 并发控制 · 乐观锁 · 悲观锁 · 数据库索引 
存储程序 · 資料庫分割

SQL
分类: 数据查询语言 (DQL) - 資料定義語言 (DDL) - 資料操縱語言 (DML) - 資料控制語言 (DCL)
指令:SELECT · INSERT · UPDATE · MERGE · DELETE · JOIN · UNION · CREATE · DROP · Begin work · COMMIT · ROLLBACK · TRUNCATE · ALTER
安全: SQL資料隱碼攻擊 · 參數化查詢

数据库管理系统的实现

实现类型
关系数据库 · 檔案型資料庫 · Deductive · 維度化資料庫 · 階層式 · 圖形資料庫 · 对象数据库 · 物件關聯式資料庫 · Temporal · XML資料庫

数据库产品
对象型 (对比) · 关系型 (对比)

数据库组件
数据查询语言 · 查詢最佳化器 · 查詢計畫 · 嵌入式SQL · ODBC · JDBC · OLE DB