A new column is one of the most common changes in database design. It can store derived values, track new states, or support fresh product features without breaking existing code. Done well, it is a simple alteration. Done poorly, it can lock tables, block writes, or corrupt data under load.
When creating a new column in SQL, choose the type with care. Match it to the precision, scale, and constraints you need. Avoid default values that force a full table rewrite if the dataset is large. For MySQL and PostgreSQL, adding a nullable column often runs as a lightweight metadata change. But adding a non-nullable column with a default can rewrite every row, causing performance issues.
Plan for migrations on production tables. Use feature flags and backfills when the migration demands a full copy of the table. Verify the new column works with zero downtime. Document the schema change in version control so other engineers can migrate their local databases cleanly.