SQLite is an open-source software library that provides a platform for the relational database management system. The lite in SQLite means lightweight in terms of setup, database administration, and required resources.

It is free for any purpose commercial or private. In other words, “SQLite is an open-source, zero-configuration, self-contained, transaction relational database engine”. It’s designed to be embedded into an application.

SQLite is different from other SQL databases because unlike most other SQL databases, it does not have a separate server process.

sqlite-logo

It reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file.

SQLite engine is not a standalone process like other databases, you can link it statically or dynamically as per your requirement with your application. SQLite accesses its storage files directly.

SQLite is ACID-compliant and implements most of the SQL standard, generally following PostgreSQL syntax. However, it uses a dynamically and weakly typed SQL syntax that does not guarantee data integrity.

This software will attempt to convert data between formats where appropriate, the string “123” into an integer in this case, but does not guarantee such conversions, and will store the data as-is if such a conversion is not possible.

It is a popular choice as embedded database software for local/client storage in application software such as web browsers.

It is the most widely deployed database engine.It has bindings to many programming languages.

SQLite Features

Self-Contained: It is self-contained means it requires minimal support from the operating system or external library. This makes usable in any environments especially in embedded devices like iPhones, Android phones, game consoles, handheld media players, etc.

Serverless: It does NOT work this way. This software not required a server to run. This database is integrated with the application that accesses the database.

The applications interact with the SQLite database read and write directly from the database files stored on disk.

Self-Contained: It is self-contained means it requires minimal support from the operating system or external library. This makes usable in any environments especially in embedded devices like iPhones, Android phones, game consoles, handheld media players, etc.

Zero-configuration: Because of the serverless architecture, you don’t need to “install” it before using it. There is no server process that needs to be configured, started, and stopped.

sqlite database extensions

Transactional: All transactions in this are fully ACID-compliant. It means all queries and changes are Atomic, Consistent, Isolated, and Durable.

In other words, all changes within a transaction take place completely or not at all even when an unexpected situation like application crash, power failure, or operating system crash occurs.

Distinctive: It uses dynamic types for tables. It means you can store any value in any column, regardless of the data type.

It allows a single database connection to access multiple database files simultaneously. This brings many nice features like joining tables in different databases or copying data between databases in a single command.

It is capable of creating in-memory databases that are very fast to work with.

SQLite Benefits

  • It uses SQL, so it has all the features of a standard SQL database.
  • Some developers require databases that can scale and provide support for concurrency. 
  • Often developers find it hard to perform testing when the application database is messy. It is very good for testing.
  • It doesn’t need any complex set up to store the data. When you build Native applications with Java, it comes integrated with the platform.
  • Developers call it, a serverless database and it really lives up to the expectation. You don’t need to set up any API or install any library to access data from it.
  • it is cross-platform which means that it can be used on Android application built on Java, and as well as a cross-platform application built on React Native.

What’s new

  • Added the SQLITE_DBCONFIG_DQS_DML and SQLITE_DBCONFIG_DQS_DDL actions to sqlite3_db_config() for activating and deactivating the double-quoted string literal misfeature. 
  • DSQLITE_DQS=0 is now a recommended compile-time option.
  • Improvements to the query planner:
  • Improved optimization of AND and OR operators when one or the other operand is a constant.

Pros & Cons

ProsCons
Serverless which means it is simple to set up and zero configuration is required.Doesn’t provide network access
The file-based system makes it very portableNo user management
Great for development and testingNot built for large-scale applications

System Requirement

Service packXP Service Pack 3/2003 Service Pack 2 or higher
Framework.NET Framework 2.0 or higher.
RAM500 MB RAM required, 1+ GB recommended.

Technical Specification

TittleSQLite
DeveloperRichard Hipp / SQLite
File Size(installer)789KB

Download SQLite

Windows

macOS

Linux

downloaddownloaddownload