A new column changes the shape of your data. It adds detail, enables new queries, and can shift the way your application works. Done right, it is seamless. Done wrong, it can lock your service in migration hell.
The process starts at the schema level. Identify the table. Choose the data type—keep it exact, avoid vague types that invite corruption. Decide if it should be nullable. Every choice here has a cost: storage, speed, complexity.
For large datasets, an ALTER TABLE command on a live production database can block writes for minutes or hours. Use online schema change tools to avoid downtime. MySQL has pt-online-schema-change; PostgreSQL supports adding nullable columns without rewriting existing data. For columns with default values, be careful—some defaults cause a full table rewrite.