The table was ready, but the schema was not. You needed a new column and you needed it now. No staging delays. No weekend-long migrations. Just a clean, safe, instant change to production data.
Adding a new column should be fast and reliable. In reality, it can be dangerous if you guess at data types, violate constraints, or trigger long locks. Done wrong, it slows every query, corrupts data relationships, or breaks downstream systems. Done right, it becomes invisible—the database evolves without noise.
Modern relational databases handle new column additions differently. In PostgreSQL, adding a nullable column without a default is near-instant. But if you add NOT NULL with a default, the database writes to every row. In MySQL with older storage engines, even simple changes can be full-table rewrites. Understanding these mechanics prevents downtime and regression bugs.