Adding a new column is one of the most common schema changes in relational databases. Done right, it is fast, predictable, and safe. Done wrong, it locks tables, stalls queries, and frustrates everyone.
First, define the purpose of the new column. Keep the name short, descriptive, and consistent with your naming conventions. Decide the data type before anything else—changing it later is costly. Choose NULL or NOT NULL based on how the data will be populated; if NOT NULL, provide a sensible default to avoid migration failures.
When working in production, assess the size of the table. On large datasets, an ALTER TABLE can block writes or consume locks for too long. Minimize impact by using an online schema change tool or breaking the migration into steps. Start by adding the column as NULL, then backfill in batches, then enforce constraints.