簡體   English   中英

SQLite 和 SQL 有什么區別

[英]What is difference between SQLite and SQL

我知道 SQLite 數據庫用於移動設備(Android、iPhone),它很輕,只占用 Kb 空間。 SQLite 有什么限制嗎? 我想知道它們有何不同。

每個 SQL 數據庫都使用自己的語言實現,但略有不同。 雖然基本查詢幾乎是通用的,但 MySQL、PostgreSQL、Microsoft SQL Server、Oracle 數據庫等之間存在顯着的細微差別。

SQLite 特別值得注意的是,與上面提到的所有其他軟件不同,該數據庫軟件沒有附帶查詢通過的守護程序。 這意味着如果多個進程同時使用數據庫,它們將直接通過 SQLite 庫更改數據,並對操作系統本身進行讀/寫數據調用。 這也意味着鎖定機制不能很好地處理爭用。

對於大多數考慮使用 SQLite 的應用程序來說,這不是問題——開銷小好處和數據檢索簡單是值得的。 但是,如果您將使用多個進程訪問數據庫,或者不考慮通過一個線程映射所有請求,則可能會有些麻煩。

Sqlite 是非常輕量級的 SQL 版本,支持 SQL 的許多特性。 基本上是為手機、平板電腦等小型設備開發的。

SQLite 是一個第三方的、開源的、進程內的數據庫引擎。 SQL Server Compact 來自 Microsoft,是 SQL Server 的精簡版。它們是兩個相互競爭的數據庫引擎。

SQL 是查詢語言。 Sqlite 是嵌入式關系數據庫管理系統。

編輯:(來自以下對我的回答的評論)

Sqlite 也不需要特殊的數據庫服務器或任何東西。 它只是一個使用 SQL 語法的直接文件系統引擎。 (作者:亞當·普洛徹)

從技術上講,SQLite 不是開源軟件,而是公共領域。 沒有許可證。 (作者:拉里·拉斯提格)

SQL 是一種查詢語言。 SQLite 是一個可嵌入的關系數據庫管理系統。

與其他數據庫(如 SQL Server 和 MySQL)不同,SQLite 不支持存儲過程。

SQLite 是基於文件的,不像其他數據庫,如基於服務器的 SQL Server 和 MySQL。

什么是 SQLite?

  • SQLite 是一個開源、零配置、自包含、獨立的事務關系數據庫引擎,旨在嵌入到應用程序中。

  • Python SQLite 可以定義為使用 ANSI-C、輕量級基於磁盤的數據庫開發的C庫; 不需要額外的或任何其他單獨的服務器進程。

SQLite 有哪些特點?

  • SQLite不需要服務器來運行(RDBMS 如 MySQL、PostgreSQL 等,需要單獨的服務器進程來運行)。

  • 是獨立的,它需要操作系統或外部庫的最少支持。 這使得 SQLite 可以在任何環境中使用,尤其是在 iPhone、Android 手機、游戲機、手持媒體播放器等嵌入式設備中。

  • 不使用任何配置文件。

  • 符合 ACID 標准 這意味着所有查詢和更改都是原子的、一致的、隔離的和持久的,即使發生應用程序崩潰、電源故障或操作系統崩潰等意外情況,事務中的所有更改都完全發生或根本不發生。

  • 能夠創建非常快速的內存數據庫。

  • 對表使用動態類型。 這意味着您可以在任何列中存儲任何值,而不管數據類型如何。

  • 允許單個數據庫連接同時訪問多個數據庫文件。

SQLite 和酸

SQLite 保證所有事務都符合ACID ,即使事務因程序崩潰、操作系統轉儲或計算機電源故障而中斷。

  • 原子的:事務應該是原子的。 這意味着不能將更改分解為較小的更改。 提交事務時,要么應用整個事務,要么不應用。

  • 一致:事務必須確保將數據庫從一種有效狀態更改為另一種有效狀態。 當事務啟動並執行修改數據的語句時,數據庫變得不一致。 然而,當事務被提交或回滾時,事務必須保持數據庫一致是很重要的。

  • 隔離:一個會話執行的待處理事務必須與其他會話隔離。 當會話啟動事務並執行 INSERT 或 UPDATE 語句來更改數據時,這些更改僅對當前會話可見,其他會話不可見。 另一方面,其他會話在事務開始后提交的更改不應該對當前會話可見。

  • 持久性:如果事務成功提交,無論電源故障或程序崩潰等情況如何,更改都必須在數據庫中永久存在。 相反,如果程序在事務提交之前崩潰,則更改不應持續存在。


信用Sqlitetutorial.net

SQLiteSQL之間最基本的區別是:

SQL是一種查詢語言,被不同的 SQL 數據庫使用。 它本身不是數據庫。

SQLite是一個使用 SQL 的數據庫管理系統。

SQL 是一種數據庫查詢語言,而 SQLite 是一種使用 SQL 規范的數據庫 (RDBMS)。 SQLite 可以說是微軟 SQL Server 的競爭對手。

這個名字本身就表明它是 SQL RDBMS 的輕量級版本。 它用於大多數小型便攜式設備,例如 Android 和 iOS 設備。

SQLite :數據庫管理系統(DBMS)。
SQL :結構化查詢語言是一種計算機語言,用於通過查詢從 DBMS 創建、編輯和獲取數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM