This is a free preview. Enrol on the course to save your progress and open every lesson.

Lesson 1 of 20 · 10 min

What SQLite is

A database without a server

Most databases, like PostgreSQL, are servers: a program that runs all the time, that apps connect to over a network, with users, passwords and settings. SQLite is different. It's a small library that reads and writes one file directly. No server, no setup, no passwords — open the file and start querying.

SQLitePostgreSQL
Where the data livesOne file, like budget.dbInside the server's own folders
SetupNothing to install for apps; a small tool to use it yourselfInstall and run a server
Users and passwordsNone — whoever can open the file can read itRoles, passwords, permissions
Many people writing at onceOne writer at a timeMany at once
Best forApps on one device, personal tools, data analysis, small websites, testingShared business systems, busy websites, many users
SQLAlmost the same: SELECT, WHERE, GROUP BY, joins, views…

It's everywhere

SQLite is the most widely used database there is. Your phone uses it for messages, contacts and photos. Browsers like Chrome, Firefox and Safari use it for history and bookmarks. Many desktop apps save their data in SQLite files. And it's free for any use — the code is in the public domain.

What you'll build

Alex works casual shifts at Corner Café and wants to know where the money goes. Alex's bank lets you download transactions as CSV files — and like most bank exports, they're a bit of a mess:

Date,Description,Amount,Balance
31/03/2026,BEAN THERE CAFE,-5.20,482.47
31/03/2026,VALUEMART GROCERIES,-32.57,487.67
30/03/2026,BEAN THERE CAFE,-5.20,520.24
30/03/2026,CITYLINK TRANSIT TOPUP,-40.00,525.44
  • Dates are DD/MM/YYYY, which doesn't sort properly
  • The newest transactions come first
  • Bigger amounts have commas, like "1,024.50"
  • Alex downloaded two files that overlap, so February is in both

By the end you'll have one clean database that answers questions like "How much did I spend on takeaway in March?" and "Am I under budget?" — and a Python script that prints a monthly report.

Try it

Download the starter files and unzip them. Open everyday-2026-02-to-03.csv in a text editor (not Excel — Excel changes how it looks) and find the problems listed above.

Downloads

1 file to download once you enrol.