---
title: "A brief introduction to SQLite and it's features"  
description: "SQLite is a relational database which implements a self-contained, serverless, zero- configurational, transactional database engine. It is a relationa"  
author: "Prateek sharma"  
published: 2018-01-25  
updated: 2018-01-25  
canonical: https://www.mindstick.com/blog/11672/a-brief-introduction-to-sqlite-and-it-s-features  
category: "android apps"  
tags: ["android", "sqlite"]  
reading_time: 3 minutes  

---

# A brief introduction to SQLite and it's features

**SQLite** is a **relational** database which implements a self-contained, **server**-**less**, zero- configurational, transactional database engine. It is a relational [database management](https://www.mindstick.com/forum/34816/what-is-mapping-constraints-in-database-management-system) system which is developed in a C programming library. The code for SQLite is available throughout and is public which means it is free and can be used by anyone either for private or commercial purposes.

SQLite has been used widely and is the most widely used database in the world consisting of thousands of projects and some high profile projects.

SQLite does not have a separate server process, it directly reads or writes to the ordinary disk storage available. A complete [SQLite database](https://www.mindstick.com/articles/1554/crud-operation-in-asp-dot-net-using-sqlite-database) which may consist of [multiple tables](https://www.mindstick.com/forum/159848/how-to-get-multiple-tables-using-entity-framework-core), views and triggers lie in the single disk file. SQLite supports **cross**-**platform** which means that it can be easily used between 32-bit or 64-bit systems.

SQLite is a very compact library available which means that it is of very small size. The maximum **size** of an SQLite database including all the features is **500KiB** which is very small. **300KiB** if some its optional features are omitted. It can also run on the minimum stack space which can be **4KiB** or with very little heap size **100KiB**. These features have made the SQLite widely used across the various platforms with low memory devices such as phones, PDAs, and MP3 players. SQLite is a faster and most reliable database, of course, if there is the availability of large memory it will run faster but it is customized in such a way that it can work faster even with the low memory.

SQLite is developed and tested by the very big [international team](https://answers.mindstick.com/qa/48011/which-country-has-won-most-number-of-times-the-davis-cup-the-international-team-champuonship-for-men) of developers who are continuously working on SQLite database to make further improvements and making [SQLite support](https://www.mindstick.com/interview/22846/what-types-of-data-sqlite-support) throughout the year **2050**. It has been tested by an automated test suit which consists of millions of test cases which includes [hundreds of millions](https://answers.mindstick.com/qa/116223/apple-s-upgrade-decision-hundreds-of-millions-of-iphones-affected) of individual SQL statements. Transactions in the SQLite database are **ACID**. It means that transactions are Atomic, Consistent, Isolated and Durable even if the [system crashes](https://www.mindstick.com/forum/159267/what-are-the-common-causes-of-operating-system-crashes) or during the power failure the database works perfectly.

\

The various **features** of SQLite are –

1. The transactions in the SQLite are atomic, consistent, isolated and durable (ACID).
2. No setup or configuration is required.
3. It is fully featured SQL with some advanced capabilities such as partial-indexes, indexes on expression, JSON support.
4. The database is stored on a single cross-platform disk file.
5. It has a wide support for terabyte-sized database and gigabyte sized of strings and blob files.
6. It supports small code footprints example, less than the 500KiB size of the database or less if some it’s optional features are omitted.
7. Simple and easy to use API.
8. SQLite is faster in some cases, even faster than direct filesystem I/O.
9. Witten in ANSI-C including TCL bindings and binding of other languages with are available separately.
10. 100% branch test coverage and well-commented code.
11. It is self-contained that is it requires no external dependencies.
12. Cross-platform support.
13. Free of cost, can be used for private or commercial purposes.
14. Consists of standalone command-[line interface](https://www.mindstick.com/forum/158847/what-is-the-role-of-the-dot-net-core-cli-command-line-interface-in-dot-net-core-development) that can be used to administer SQLite databases.

\

---

Original Source: https://www.mindstick.com/blog/11672/a-brief-introduction-to-sqlite-and-it-s-features

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
