SQLite tutorial

Welcome to this SQLite tutorial! SQLite is a popular open-source relational database management system (RDBMS) that is widely used in applications and websites. It is lightweight, fast, and reliable, making it an excellent choice for small to medium-sized projects.

This tutorial is designed for beginners who have little or no experience with SQLite or any other database system. It will provide you with a step-by-step guide on how to install SQLite, create a database, manage tables, perform basic SQL queries, and more. Whether you are a developer, a student, or anyone interested in learning about SQLite, this tutorial will equip you with the knowledge and skills needed to get started with this powerful database system.

About SQLite

Before starting the SQLite tutorial, let’s start reading about some fundamental notions about SQLite.

SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. SQLite is fast, reliable, and easy to use.

SQLite is free and open source. SQLite is a C library that implements an SQL database engine. SQLite does not have a separate server process like most other SQL databases. SQLite reads and writes directly to ordinary disk files.

SQLite databases are very versatile. They can be used as a data store for web applications, embedded systems, or even as a replacement for traditional SQL databases. SQLite databases are easy to create and require no special configuration. SQLite databases are self-contained, which means they do not need a separate server process or system to operate.

SQLite databases are transactional, which means that changes made to the database are atomic, consistent, isolated, and durable (ACID). SQLite databases are secure by default. SQLite is a great choice for applications that need a light-weight, easily portable database.

A complete SQL database with multiple tables, indices, triggers, and views, can be contained in a single disk file. SQLite is not client/server. SQLite is embedded into the application that uses it and supports all the features you would expect from a modern SQL database engine including:

SQLite tutorial

Let’s start the tutorial with the basic concepts of SQLite, concepts that will be useful in developing a complex SQLite database.

In this tutorial, we will cover the basics of SQLite, including how to create databases, tables, and columns, as well as how to insert, update, and delete data. We will also explore more advanced features such as joins, indexes, and transactions. Whether you are a beginner or an experienced developer, this tutorial will provide you with a comprehensive understanding of SQLite and how to use it effectively in your projects.

1. Data Definition

Create Table – learn how to create a new table in the database.
Alter Table – learn how to modify the structure of a table.
Add Column – show you how to add column to a table.
Rename Column – show you how to rename column.
Drop Column – show you how to remove a column from a table.

2. Data Manipulation

Insert – insert records into a table.
Update – modify values of existing rows in a table.
Delete – delete rows from a table.
Replace – insert new rows or replace existing rows in a table.

3. Constraints

Primary Key – learn how to create the primary key.
Foreign Key – define foreign key to enforce the relationships between tables.
NOT NULL constraint – show you how to define a column with NOT NULL constraint.
CHECK constraint – enforces table integrity by limiting the values of a column.
UNIQUE constraint – requires that the values inserted in the columns of a table be unique.
AUTOINCREMENT – should be avoided unless strictly necessary.

4. Query table

Select – learn how to query data from a table using SELECT statement.

5. Sorting data rows

Order By – sort the data rows in either ascending or descending order.

6. Filtering data rows

Select Distinct – return unique rows from a table.
Where – filter rows in a query using specific conditions.
Between – is used to extract values within a given range.
Like – is used to match a certain pattern.
In – is used to check if a given value is contained within a set of values.
Limit – is used to limit the number of rows returned.

7. Grouping data rows

Group By – the GROUP BY clause is used to group together similar values.
Having – the HAVING clause is used to filter groups based on a specified condition.

8. Joining tables

Inner Join – returns rows from multiple tables that match the specified join condition.
Left Join – use the left join clause to return rows from the left table.
Cross Join – learn how to use the cross join clause to return the cartesian product.

9. Subquery

Subquery – syntax and example of SQLite subquery.


Views – introduction to SQLite views.
Create View – learn how to create a view.
Drop View – learn how to drop a view.

11. Transactions

Transaction – introduction to SQLite transactions, examples with COMMIT and ROLLBACK.

12. Triggers

Triggers – shows you the basics of triggers.
Create Trigger – syntax and examples of how to create a trigger.
Drop Trigger – show you how to remove a trigger.

13. Functions

Functions – provides a large number of built-in functions that can be used in SQL statements.
Aggregate functions – used to perform calculations on sets of values.
Date and Time functions – shows you examples of date and time functions.
Window functions – used to perform a variety of analytical operations on data sets.
String functions – shows you examples of string functions like concat, substr, upper, and lower.
Math functions – used to perform mathematical operations.
JSON functions – learn how to store, query, and manipulate JSON data in a database.

14. Data Types

Data types – contains the most common SQLite data types.
NULL – this data type represents a missing or unknown value.
INTEGER – used to store whole numbers. It can be signed or unsigned, depending on the value range.
REAL – used to store floating-point numbers.
TEXT – used to store character strings. It can hold up to 2^31-1 bytes.
BLOB – this data type is used to store binary data, such as images or files.