The table waits, empty of the column it needs. You type, the cursor blinks, and the schema feels incomplete. Adding a new column is simple. Doing it right is harder.
A new column can store the data that matters now, or it can weigh down your system for years. The decision is technical and strategic. You choose the name. You choose the type. You decide if it’s nullable, if it has a default, if it’s indexed. Each choice has a cost.
In SQL, adding a new column changes the structure of the table. Use ALTER TABLE when the table can handle the change without locking for too long. Test on a staging copy before touching production. Watch for replication lag, storage growth, and query performance.
In PostgreSQL, adding a new column with a default can rewrite the table. On large datasets, that means downtime. Better to add it without a default, then backfill in controlled batches. In MySQL, the cost depends on storage engine and version—modern versions do online DDL well, but not all.