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.
| SQLite | PostgreSQL | |
|---|---|---|
| Where the data lives | One file, like budget.db | Inside the server's own folders |
| Setup | Nothing to install for apps; a small tool to use it yourself | Install and run a server |
| Users and passwords | None — whoever can open the file can read it | Roles, passwords, permissions |
| Many people writing at once | One writer at a time | Many at once |
| Best for | Apps on one device, personal tools, data analysis, small websites, testing | Shared business systems, busy websites, many users |
| SQL | Almost 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.
