06aSQLiteIntro
Database Management
Mick McQuaid
University of Texas at Austin
12 May 2026
Introduction
Let’s review some concepts first, then talk about SQLite in particular
Kinds of databases
- Relational databases (SQLite, MySQL, PostgreSQL, Oracle, etc.)
- NoSQL databases (MongoDB, etc.)
- Graph databases (Neo4j, etc.)
- Key-value databases (Memcached, etc.)
- Columnar databases (MonetDB, etc.)
- Document databases (CouchDB, etc.)
- Time-series databases (InfluxDB, etc.)
- Object-oriented databases (ObjectDB, etc.)
Relational databases
- The software we’ll use is a relational database
- The data is represented in tables
- The tables have columns and rows
- The tables are related to each other
- The tables are stored in a database
Another way to categorize databases
- Embedded databases (SQLite)
- Client-Server databases (MySQL, PostgreSQL, Oracle, etc.)
- Cloud databases (AWS, Azure, etc.)
The difference between embedded and client-server databases
- Embedded databases are embedded in an application
- Client-server databases may be used by many applications
A client-server database
Client-server idea
- One process is the client (you)
- The other process is the server (where the data is stored)
- The client sends requests to the server
- The server sends responses to the client
- The client and server are usually on different computers
Usefulness of client-server databases
- Client-server databases are used by enterprises
- An enterprise is an entire business or agency
- An enterprise may have many applications
- An enterprise may have many users
- An enterprise database can serve them all
Why we don’t use a client-server database in this class
- We’re mainly interested in the client
- In the workplace, the server and the communication between the client and server are set up by IT professionals called database administrators (DBAs) and network administrators (NAs)
- We’re not interested in the server or the communication between the client and server
- Hence, we’re going to use an embedded database, SQLite
SQLite
- SQLite is an embedded relational database
- In practice, it’s two things: (A) a library and (B) a command-line interface
- We’re just going to use the command-line interface
- The interface is in a file called
sqlite3 (or, on Windows, sqlite3.exe)
Installing SQLite on macOS
- On macOS it’s already installed
- You can verify this by typing
which sqlite3 in the terminal
- Or you can type
sqlite3 --version in the terminal
Installing SQLite on Windows
- On Windows, it’s not installed
- Look under Precompiled Binaries for Windows
- Download the version marked sqlite-tools (third in the list)
- Move the files to
C:\sqlite (which you’ll need to create)
- Add
C:\sqlite to your PATH environment variable
Next time
In the next video, I will say more about SQLite and give some examples of using it
Colophon
This slideshow was produced using quarto
Fonts are Roboto Light, Roboto Bold, and JetBrains Mono Nerd Font