fbpx
维基百科

SQLite

SQLite/ˌɛskjuːɛlˈlt/[6]/ˈskwəl.lt/[7])是遵守ACID关系数据库管理系统,它包含在一个相对小的C程式庫中。与许多其它数据库管理系统不同,SQLite不是一个客户端/服务器结构的数据库引擎,而是被集成在用户程序中。

SQLite
開發者D. Richard Hipp英语D. Richard Hipp
首次发布2000年8月17日,​22年前​(2000-08-17[2]
目前版本
  • 3.41.0 (2023年2月21日;穩定版本)[3]
源代码库
  • www.sqlite.org/src
编程语言ANSI C[1]
操作系统跨平台[1]
文件大小小于600KiB[1]
语言英语
类型关系型数据库(嵌入式)
许可协议公有领域[4]
网站sqlite.org 
SQLite数据库文件格式
扩展名.sqlite, .sqlite3, .db, .db3, .s3db, .sl3
互联网媒体类型application/vnd.sqlite3[5]
魔術數字53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00(零终结的ASCII "SQLite format 3")
初始版本2004-06-18
自由格式是的(共有领域
网站www.sqlite.org/fileformat2.html

SQLite遵守ACID,实现了大多数SQL标准。它使用动态的、弱类型的SQL语法。[8]它作为嵌入式数据库,是应用程序,如网页浏览器,在本地/客户端存储数据的常见选择。它可能是最广泛部署的数据库引擎,因为它正在被一些流行的浏览器、操作系统嵌入式系统所使用[9]。同时,它有许多程序设计语言的语言绑定

SQLite是D. Richard Hipp英语D. Richard Hipp建立的公有领域项目。[4]

设计

不像常见的客户端/服务器结构数据库管理系统,SQLite引擎不是一个应用程序与之通信的独立进程。SQLite库链接到程序中,并成为它的一个组成部分。这个库也可被动态链接。应用程序经由编程语言内的直接API调用来使用SQlite的功能,这在减少数据库访问延迟上有积极作用,因为在一个单一进程中的函数调用比跨进程通信更有效率。SQLite将整个数据库,包括定义、表、索引以及数据本身,作为一个单独的、可跨平台使用的文件存储在主机中。它采用了在写入数据时将整个数据库文件加锁的简单设计。尽管写操作只能串行进行,但SQLite的读操作可以多任务同时进行。

SQLite将PostgreSQL作为参考平台。项目将“PostgreSQL可能做些什么”作为SQL标准实现的开发参考。[10][11]然而与这个目标最重要的偏差在于,除了主键以外,SQLite不强制进行类型检查。一个值的类型是动态的,不被schema所强制限制(虽然如此,但如果可以进行可恢复的类型转换时,schema会在存储数据时触发一个自动转换)。

特征

程式庫实现了多数的SQL-92标准,包括事务,以及实现原子性、一致性隔離性持久性(即ACID),但它缺失了某些特性。例如,它仅部分支持触发器。尽管它支持大多数的复杂查询,但它的ALTER TABLE功能有所限制,不能修改或删除列,只能通过重新建立表的方式迂回进行。

SQLite不进行类型检查。你可以把字符串插入到整数列中。某些用户发现这是使数据库更加有用的创新,特别是与无类型的脚本语言一起使用的时候;然而其他用户认为这是主要的缺点。

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

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

语言绑定

目前有大量的编程语言提供使用SQLite的绑定,包括:

  • C/C++[12]
  • C#VB.Net[13]Mono實作,需要.NET Framework4.0以上版本,並支援Entity Framework
  • Tcl[14]
  • CPANDBD::SQLite上有一个Perl的DBI/DBD模块,它不是到SQLite的接口,而是包括整个SQLite数据库引擎在其中并不需要任何额外的软件。
  • Python自2.5之后将pysqlite[15]内置,模块名为sqlite3(import sqlite3;下載的package名為pysqlite3)。[16]
  • PHP从PHP 5.0开始已經包含SQLite,但是自5.1版之後,SQLite開始成為一個延伸函式庫。SQLite能与PHP4一起工作,但不包含在PHP4里面。
  • Rails2.0.3将缺省的数据库配置改为了SQLite 3。
  • Haskell[17]
  • Java[18]
  • Delphi: DISQLite3作为Delphi的一个第三方控件,不是SQLite的API,也不是接口,而是把SQLite数据库引擎重新封装编译到Delphi的目标程序中。

SQLite管理客户端

SQLite亦可以作為桌面資料庫使用,以下為第三方SQLite的GUI軟體。例如,

  • Navicat for SQLite是一套專為SQLite設計的強大資料庫管理及開發工具。它可以用於任何版本2或3的SQLite資料庫,並支援大部份SQLite的功能,包括觸發器、索引、檢視等。
  • SQLiteMan,使用Qt开发的一个SQLite客户端,支持多语言、跨平台。
  • Firefox,可以藉由安裝擴充套件成為SQLite客户端管理工具,包括SQLite Manager、SQLite Reader、SQLite Manager[19](另一個同名的WebExtensions擴充套件)。
  • SQLite Database Browser,一款连接SQLite数据库的图形客户端。
  • SQLite Expert Personal,Windows上的一款连接SQLite数据库的免费客户端。
  • Database .NET[20],一套適用於 Windows 平台的免安裝綠色軟體,支援多種視覺化資料庫管理工具,除了 SQLite 之外也支援 Microsoft SQL Server、SQL Azure、MySQL、Oracle、IBM DB2、Informix、PostgreSQL、HP Vertica、NuoDB、Teradata、Sybase ASE、Firebird、Access、Excel、DBase、SQLCe... 等資料庫軟體。

参考文献

  1. ^ 1.0 1.1 1.2 Features Of SQLite. SQLite.org. [2018-09-19]. (原始内容于2018-09-19). 
  2. ^ History Of SQLite Releases. SQLite.org. [2018-09-19]. (原始内容于2018-09-19). 
  3. ^ SQLite Release 3.41.0 On 2023-02-21. 2023年2月21日 [2023年2月21日]. 
  4. ^ 4.0 4.1 SQLite Copyright. sqlite.org. [May 17, 2010]. (原始内容于2015-12-17). 
  5. ^ SQLite数据库文件格式在IANA的媒体类型. Internet Assigned Numbers Authority. IANA. [2019-03-08]. (原始内容于2022-11-09). 
  6. ^ D. Richard Hipp英语D. Richard Hipp (presenter). An Introduction to SQLite (video). Google Inc. 事件发生在 00:01:14. May 31, 2006 [March 23, 2010]. (原始内容于2015-11-27). [...] ess-kju-ellite [...] 
  7. ^ D. Richard Hipp英语D. Richard Hipp (presenter). An Introduction to SQLite. Google Inc. 事件发生在 00:48:15. May 31, 2006 [March 23, 2010]. (原始内容于2015-11-27). [...] sequelite [...] 
  8. ^ Owens, Michael. Chapter 4: SQL. Gilmore, Jason; Thomas, Keir (编). The Definitive Guide to SQLite. D. Richard Hipp (foreword), Preston Hagar (technical reviewer). Apress. 2006: 133 [30 December 2014]. ISBN 978-1-59059-673-9. (原始内容于2020-11-24). 
  9. ^ Most Widely Deployed SQL Database Estimates. Sqlite.org. [May 11, 2011]. (原始内容于2015-07-17). 
  10. ^ 存档副本. [2015-06-25]. (原始内容于2015-06-29). 
  11. ^ 存档副本. [2015-06-25]. (原始内容于2014-12-30). 
  12. ^ An Introduction To The SQLite C/C++ Interface. sqlite.org. [Jan 22, 2016]. (原始内容于2016-02-05). 
  13. ^ System.Data.SQLite official site. sqlite.org. 
  14. ^ The Tcl interface to the SQLite library. sqlite.org. [Jan 22, 2016]. (原始内容于2016-01-29). 
  15. ^ pysqlite(页面存档备份,存于互联网档案馆
  16. ^ sqlite3 — DB-API 2.0 interface for SQLite databases. python.org. [Jan 22, 2016]. (原始内容于2012-10-18). 
  17. ^ sqlite: Haskell binding to sqlite3. [Jan 22, 2016]. (原始内容于2016-01-28). 
  18. ^ SQLite Java Wrapper/JDBC Driver. [Jan 22, 2016]. (原始内容于2016-01-25). 
  19. ^ SQLite Manager(页面存档备份,存于互联网档案馆
  20. ^ Database .NET(页面存档备份,存于互联网档案馆

參閱

外部链接

  • SQLite主页(页面存档备份,存于互联网档案馆
  • pysqlite(页面存档备份,存于互联网档案馆
  • - CPAN上的Perl模块。
  • - Ruby语言接口。
  • SQLiteManager(页面存档备份,存于互联网档案馆) - 管理SQLite数据库的多语言的PHP4写的web工具。
  • SQLite Developer(页面存档备份,存于互联网档案馆) - SQLite可视化数据库管理器。
  • SQLiteBrowser(页面存档备份,存于互联网档案馆) - 視窗介面SQLite資料庫瀏覽器
  • SQLite Administrator(页面存档备份,存于互联网档案馆
  • - An ADO.NET 2.0 provider for SQLite
  • (via ODBC or *sqlite-sdbc-driver(页面存档备份,存于互联网档案馆))
  • Database.NET(页面存档备份,存于互联网档案馆) - 視覺化資料庫管理工具,支援多種資料庫且免安裝。

sqlite, juː, 是遵守acid的关系数据库管理系统, 它包含在一个相对小的c程式庫中, 与许多其它数据库管理系统不同, 不是一个客户端, 服务器结构的数据库引擎, 而是被集成在用户程序中, 開發者d, richard, hipp, 英语, richard, hipp, 首次发布2000年8月17日, 22年前, 2000, 目前版本3, 2023年2月21日, 穩定版本, 源代码库www, sqlite, src编程语言ansi, 操作系统跨平台, 文件大小小于600kib, 语言英语类型关系型数据库, . SQLite ˌ ɛ s k juː ɛ l ˈ l aɪ t 6 或 ˈ s iː k w e l l aɪ t 7 是遵守ACID的关系数据库管理系统 它包含在一个相对小的C程式庫中 与许多其它数据库管理系统不同 SQLite不是一个客户端 服务器结构的数据库引擎 而是被集成在用户程序中 SQLite開發者D Richard Hipp 英语 D Richard Hipp 首次发布2000年8月17日 22年前 2000 08 17 2 目前版本3 41 0 2023年2月21日 穩定版本 3 源代码库www wbr sqlite wbr org wbr src编程语言ANSI C 1 操作系统跨平台 1 文件大小小于600KiB 1 语言英语类型关系型数据库 嵌入式 许可协议公有领域 4 网站sqlite wbr org SQLite数据库文件格式扩展名 sqlite sqlite3 db db3 s3db sl3互联网 媒体类型application vnd sqlite3 5 魔術數字53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00 零终结的ASCII SQLite format 3 初始版本2004 06 18自由格式 是的 共有领域 网站www wbr sqlite wbr org wbr fileformat2 wbr htmlSQLite遵守ACID 实现了大多数SQL标准 它使用动态的 弱类型的SQL语法 8 它作为嵌入式数据库 是应用程序 如网页浏览器 在本地 客户端存储数据的常见选择 它可能是最广泛部署的数据库引擎 因为它正在被一些流行的浏览器 操作系统 嵌入式系统所使用 9 同时 它有许多程序设计语言的语言绑定 SQLite是D Richard Hipp 英语 D Richard Hipp 建立的公有领域项目 4 目录 1 设计 2 特征 3 语言绑定 4 SQLite管理客户端 5 参考文献 6 參閱 7 外部链接设计 编辑不像常见的客户端 服务器结构数据库管理系统 SQLite引擎不是一个应用程序与之通信的独立进程 SQLite库链接到程序中 并成为它的一个组成部分 这个库也可被动态链接 应用程序经由编程语言内的直接API调用来使用SQlite的功能 这在减少数据库访问延迟上有积极作用 因为在一个单一进程中的函数调用比跨进程通信更有效率 SQLite将整个数据库 包括定义 表 索引以及数据本身 作为一个单独的 可跨平台使用的文件存储在主机中 它采用了在写入数据时将整个数据库文件加锁的简单设计 尽管写操作只能串行进行 但SQLite的读操作可以多任务同时进行 SQLite将PostgreSQL作为参考平台 项目将 PostgreSQL可能做些什么 作为SQL标准实现的开发参考 10 11 然而与这个目标最重要的偏差在于 除了主键以外 SQLite不强制进行类型检查 一个值的类型是动态的 不被schema所强制限制 虽然如此 但如果可以进行可恢复的类型转换时 schema会在存储数据时触发一个自动转换 特征 编辑程式庫实现了多数的SQL 92标准 包括事务 以及实现原子性 一致性 隔離性和持久性 即ACID 但它缺失了某些特性 例如 它仅部分支持触发器 尽管它支持大多数的复杂查询 但它的ALTER TABLE功能有所限制 不能修改或删除列 只能通过重新建立表的方式迂回进行 SQLite不进行类型检查 你可以把字符串插入到整数列中 某些用户发现这是使数据库更加有用的创新 特别是与无类型的脚本语言一起使用的时候 然而其他用户认为这是主要的缺点 多个进程或线程可以同時存取同一个数据而没有问题 可以同時平行讀取同一個資料庫 但同一時間只能有一個进程或线程進行資料寫入 否则會寫入失敗並得到一個錯誤訊息 或者會自動重試一段時間 自动重试的逻辑以及重試時間的長短是可以設定的 程式設計者還提供了一個叫做sqlite3的独立程序用来查询和管理SQLite数据库文件 SQLite的使用者可以把這個程式當作如何寫SQLite應用程式的範例 语言绑定 编辑目前有大量的编程语言提供使用SQLite的绑定 包括 C C 12 C 與VB Net 13 以Mono實作 需要 NET Framework4 0以上版本 並支援Entity Framework Tcl 14 在CPAN的DBD SQLite上有一个Perl的DBI DBD模块 它不是到SQLite的接口 而是包括整个SQLite数据库引擎在其中并不需要任何额外的软件 Python自2 5之后将pysqlite 15 内置 模块名为sqlite3 import sqlite3 下載的package名為pysqlite3 16 PHP从PHP 5 0开始已經包含SQLite 但是自5 1版之後 SQLite開始成為一個延伸函式庫 SQLite能与PHP4一起工作 但不包含在PHP4里面 Rails2 0 3将缺省的数据库配置改为了SQLite 3 Haskell 17 Java 18 Delphi DISQLite3作为Delphi的一个第三方控件 不是SQLite的API 也不是接口 而是把SQLite数据库引擎重新封装编译到Delphi的目标程序中 SQLite管理客户端 编辑SQLite亦可以作為桌面資料庫使用 以下為第三方SQLite的GUI軟體 例如 Navicat for SQLite是一套專為SQLite設計的強大資料庫管理及開發工具 它可以用於任何版本2或3的SQLite資料庫 並支援大部份SQLite的功能 包括觸發器 索引 檢視等 SQLiteMan 使用Qt开发的一个SQLite客户端 支持多语言 跨平台 Firefox 可以藉由安裝擴充套件成為SQLite客户端管理工具 包括SQLite Manager SQLite Reader SQLite Manager 19 另一個同名的WebExtensions擴充套件 SQLite Database Browser 一款连接SQLite数据库的图形客户端 SQLite Expert Personal Windows上的一款连接SQLite数据库的免费客户端 Database NET 20 一套適用於 Windows 平台的免安裝綠色軟體 支援多種視覺化資料庫管理工具 除了 SQLite 之外也支援 Microsoft SQL Server SQL Azure MySQL Oracle IBM DB2 Informix PostgreSQL HP Vertica NuoDB Teradata Sybase ASE Firebird Access Excel DBase SQLCe 等資料庫軟體 参考文献 编辑 1 0 1 1 1 2 Features Of SQLite SQLite org 2018 09 19 原始内容存档于2018 09 19 History Of SQLite Releases SQLite org 2018 09 19 原始内容存档于2018 09 19 SQLite Release 3 41 0 On 2023 02 21 2023年2月21日 2023年2月21日 4 0 4 1 SQLite Copyright sqlite org May 17 2010 原始内容存档于2015 12 17 SQLite数据库文件格式在IANA的媒体类型 Internet Assigned Numbers Authority IANA 2019 03 08 原始内容存档于2022 11 09 D Richard Hipp 英语 D Richard Hipp presenter An Introduction to SQLite video Google Inc 事件发生在 00 01 14 May 31 2006 March 23 2010 原始内容存档于2015 11 27 ess kju ellite D Richard Hipp 英语 D Richard Hipp presenter An Introduction to SQLite Google Inc 事件发生在 00 48 15 May 31 2006 March 23 2010 原始内容存档于2015 11 27 sequelite Owens Michael Chapter 4 SQL Gilmore Jason Thomas Keir 编 The Definitive Guide to SQLite D Richard Hipp foreword Preston Hagar technical reviewer Apress 2006 133 30 December 2014 ISBN 978 1 59059 673 9 原始内容存档于2020 11 24 Most Widely Deployed SQL Database Estimates Sqlite org May 11 2011 原始内容存档于2015 07 17 存档副本 2015 06 25 原始内容存档于2015 06 29 存档副本 2015 06 25 原始内容存档于2014 12 30 An Introduction To The SQLite C C Interface sqlite org Jan 22 2016 原始内容存档于2016 02 05 System Data SQLite official site sqlite org The Tcl interface to the SQLite library sqlite org Jan 22 2016 原始内容存档于2016 01 29 pysqlite 页面存档备份 存于互联网档案馆 sqlite3 DB API 2 0 interface for SQLite databases python org Jan 22 2016 原始内容存档于2012 10 18 sqlite Haskell binding to sqlite3 Jan 22 2016 原始内容存档于2016 01 28 SQLite Java Wrapper JDBC Driver Jan 22 2016 原始内容存档于2016 01 25 SQLite Manager 页面存档备份 存于互联网档案馆 Database NET 页面存档备份 存于互联网档案馆 參閱 编辑关系数据库 关系型数据库管理系统对比外部链接 编辑SQLite主页 页面存档备份 存于互联网档案馆 pysqlite 页面存档备份 存于互联网档案馆 DBD SQLite CPAN上的Perl模块 Sqlite ruby Ruby语言接口 SQLiteManager 页面存档备份 存于互联网档案馆 管理SQLite数据库的多语言的PHP4写的web工具 SQLite Developer 页面存档备份 存于互联网档案馆 SQLite可视化数据库管理器 SQLiteBrowser 页面存档备份 存于互联网档案馆 視窗介面SQLite資料庫瀏覽器 SQLite ODBC驱动程序 SQLite Administrator 页面存档备份 存于互联网档案馆 SQLite NET 2 0 An ADO NET 2 0 provider for SQLite Using SQLite Database with OpenOffice org via ODBC or sqlite sdbc driver 页面存档备份 存于互联网档案馆 Interview with Richard Hipp SQLite with Python tutorial Database NET 页面存档备份 存于互联网档案馆 視覺化資料庫管理工具 支援多種資料庫且免安裝 取自 https zh wikipedia org w index php title SQLite amp oldid 75644043, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。