PL EN DE FR ES IT PT RU JA ZH NL UK TR KO CS SV AR VI FA ID HU RO NO FI

SQLite

SQLite
Logo SQLite
Logo programu
ilustracja
Autor D. Richard Hipp[1]
Pierwsze wydanie 2000-05-29 29 maja 2000(dts)[3]
Aktualna wersja stabilna 3.51.2
(9 stycznia 2026) [±]
Język programowania C[2]
Rodzaj system zarządzania relacyjną bazą danych
Licencja domena publiczna[3]
Strona internetowa
SQLite Database
ilustracja
Rozszerzenia pliku

.db, .sqlite, .sqlite3

Typ MIME

application/vnd.sqlite3[4]

Data opracowania

18 czerwca 2004[5]

Typ

kompaktowa baza danych

Otwarty format?

tak (domena publiczna)

Strona internetowa

SQLiteotwartoźródłowy[6] system zarządzania relacyjną bazą danych oraz biblioteka C[2] implementująca taki system, obsługująca SQL[3]. Została stworzona przez Richarda Hippa[1] i jest dostępna na licencji domeny publicznej[3][7]. Projekt został rozpoczęty w 2000 roku przez D. Richarda Hippa na zlecenie Marynarki Wojennej Stanów Zjednoczonych do obsługi oprogramowania na niszczycielach rakietowych, gdzie kluczowym wymogiem było działanie bazy danych bez konieczności nadzoru administratora[8].

Biblioteka implementuje silnik SQL, dając możliwość używania bazy danych bez konieczności uruchamiania osobnego procesu RDBMS. W wielu zastosowaniach, a w szczególności w systemach wbudowanych, takie rozwiązanie jest najpraktyczniejsze.

SQLite posiada również API do innych niż C języków programowania, a mianowicie: ActionScript, Perl, PHP, Ruby, C++, Delphi, Python, Java, Tcl, Visual Basic, platformy .NET i wielu innych; a także interfejs powłokowy. Baza może łączyć się przez ODBC.

Zawartość bazy danych przetrzymywana jest w jednym pliku (do 281 TB[9]). Baza SQLite jest utrzymywana na dysku przy użyciu B-drzew. Osobne drzewo jest używane dla każdej z tabel i każdego z indeksów. Baza udostępnia transakcje ACID oraz implementuje większość standardu SQL 92. Jest często wykorzystywany w większych aplikacjach oraz w systemach obsługi relacyjnych baz danych takich jak Kexi.

Bazy danych zapisywane są jako pliki binarne[10] lub przechowywane w pamięci o dostępie swobodnym[11]. Ich bezpieczeństwo jest oparte na zabezpieczeniach oferowanych przez używany system plików. Istnieje też projekt oferujący szyfrowanie baz danych SQLite na bieżąco o nazwie SQLite Encryption Extension (SEE)[12]. Projekt wyróżnia się jednym z najbardziej rygorystycznych procesów testowania wśród oprogramowania open source. Na każdą linię kodu biblioteki przypada prawie 600 linii kodu testów i skryptów testowych, a rdzeń SQLite osiąga 100% pokrycia rozgałęzień kodu (ang. branch coverage), co przekłada się na wysoką stabilność działania.[13].

SQLite obsługuje między innymi:

Niektórych z wymienionych cech brakuje nawet w rozbudowanych serwerach baz danych[których?], na przykład w MySQL w wersjach starszych niż 5.0.2 brakuje transakcji, a wydajność SQLite (przy obsłudze jednego użytkownika) w porównaniu z serwerami baz danych MySQL oraz PostgreSQL jest bardzo wysoka[potrzebny przypis].

Przypisy

  1. a b SQLite Developers. sqlite.org. [dostęp 2021-01-02]. (ang.).
  2. a b The SQLite Amalgamation. sqlite.org. [dostęp 2021-02-04]. (ang.).
  3. a b c d About SQLite. sqlite.org. [dostęp 2021-01-02]. (ang.).
  4. Typ MIME dla baz danych SQLite w organizacji IANA. iana.org. [dostęp 2021-09-27]. (ang.).
  5. Database File Format. sqlite.org. [dostęp 2021-09-27]. (ang.).
  6. SQLite: SQLite Source Repository. sqlite.org. [dostęp 2021-06-21]. (ang.).
  7. Oficjalne repozytorium silnika SQLite. sqlite.org. [dostęp 2021-01-02]. (ang.).
  8. The Story of Dwayne Richard Hipp and the Development of SQLite in 1999. hackernoon.com/. [dostęp 2025-11-22]. (ang.).
  9. Implementation Limits For SQLite. sqlite.org. [dostęp 2021-01-02]. (ang.).
  10. Database File Format. sqlite.org. [dostęp 2021-02-04]. (ang.).
  11. In-Memory Databases. sqlite.org. [dostęp 2021-02-04]. (ang.).
  12. SQLite Encryption Extension: Documentation. sqlite.org. [dostęp 2021-02-04]. (ang.).
  13. How SQLite Is Tested. sqlite.org. [dostęp 2026-02-07]. (ang.).

Linki zewnętrzne