Four relational databases you'll run into, what each one is actually for, and where to get it. MySQL also gets its GUI client and a Jupyter Notebook workflow for running SQL one cell at a time.
An open source, standards focused relational database known for strict data integrity and advanced features: full ACID transactions, rich indexing, JSON columns, and support for custom data types. It's the default choice for a lot of production web applications because it rarely cuts corners on correctness.
A community developed fork of MySQL, created by MySQL's original developers after Oracle acquired it. It's built to be a drop in replacement: the same SQL syntax and command line tools, under a fully open source license with development driven by the community rather than one company.
A serverless, file based database: the entire database is one file on disk, there's no separate server process to install or start, and no username or password. Python ships with it built in through the sqlite3 module, which is exactly why it's the database behind this course's practice notebooks.
import sqlite3 is part of the standard library alreadysqlite3 command line shell outside of Python.db filesThe most widely deployed open source relational database in the world, and the one CIS 4720 is built around. It runs as a server process that clients connect to over a network, whether that client is a command line, a GUI, or a Python script.
The official graphical client for MySQL: browse schemas and tables, build queries visually or write SQL directly, and design entity relationship diagrams. It's included with the Windows installer above, or downloadable on its own for macOS and Linux.
Connecting from the command line, showing and switching databases, describing a table, and the full command reference table with MySQL and SQLite3 side by side already live on their own page.
A notebook (.ipynb file) runs code one cell at a time and keeps the output underneath it, which makes it a good fit for working through SQL problems step by step instead of all at once. The practice database for this course is built to run inside one.
Two ways to get Jupyter running on your own machine:
# Minimal install, just Jupyter
py -m pip install notebook
jupyter notebook
# Or JupyterLab, the newer multi-tab interface
py -m pip install jupyterlab
jupyter lab
Or install Anaconda, a full distribution that bundles Python, Jupyter, and the common data packages together in one installer. If you're working inside VS Code instead, see the Jupyter extension setup on the Python Resources page.
Upload the .ipynb file above and run it entirely in the browser: