About SQLite
SQLite is a lightweight, embedded relational database management system (RDBMS). It uses most of the SQL standard, and it is fully ACID compliant.
SQLite is a popular choice as an embedded database for local/client storage in web browsers and mobile phones.
SQLite is not a client/server database engine (like many other DBMSs). Rather, SQLite is embedded into the application that uses it. This means SQLite applications require less configuration than client/server databases.
Many programming language provide bindings for SQLite, including C, C#, C++, Java, JavaScript, Ruby, Python, and lots more.
SQLite Implementations
While other database management systems such as Oracle, MySQL, and SQL Server are often credited with being the most popular database management systems in the world, SQLite is usually considered the most deployed database system in the world.
According to the SQLite website, it is deployed in:
- Every Android device
- Every iPhone and iOS device
- Every Mac
- Every Windows10 machine
- Every Firefox, Chrome, and Safari web browser
- Every instance of Skype
- Every instance of iTunes
- Every Dropbox client
- Every TurboTax and QuickBooks
- PHP and Python
- Most television sets and set-top cable boxes
- Most automotive multimedia systems
- Countless millions of other applications
Serverless
SQLite is a serverless database engine. Most SQL database engines are implemented as a separate server process. SQLite does not have a separate server process.
SQLite 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.
Zero-Configuration
SQLite requires no configuration to get it running. There is no server process that needs to be started, stopped, or configured like in a client/server system.
There is no need for a database administrator to add users/roles etc. SQLite works on the permissions of the file system.
SQLite Administration
A standalone command-line program is provided in SQLite's distribution. It can be used to create a database, define tables, insert and change rows, run queries and manage an SQLite database file.
There are also various admin tools that have been written specifically for SQLite. Many of these are graphical tools that enable you to do most tasks by "pointing and clicking".
This tutorial uses the command-line interface, as this is the most widely available tool for creating and managing SQLite databases.