Last Updated: June 6, 2026
SQLite is friction-free because the database lives in the same process as the application. Every other database (PostgreSQL, MySQL, SQL Server) runs as a separate server, often on a separate machine. Connecting to one is a small problem with many details: which driver to install, how to assemble a connection string, where the password lives, how long to wait when the network is slow, how to keep connections from leaking. This lesson covers the patterns that production Python code uses to connect to real database servers safely.