A new column changes the shape of your data forever. One command, one migration, and the schema is never the same again. Done right, it unlocks cleaner queries, simpler joins, and faster lookups. Done wrong, it adds weight, complexity, and risk.
Adding a new column is more than altering a table. You decide its type, default values, constraints, and indexing strategy in one pass. You weigh the cost of storage against query performance. You ask if this belongs in the same table or in a new one entirely. You think about nullability and the impact on existing rows.
In SQL, the typical syntax is direct:
ALTER TABLE users ADD COLUMN last_login TIMESTAMP DEFAULT NOW();
But a production system is not a local sandbox. You check replication delays. You measure lock times. You test migrations against realistic datasets. On massive tables, you plan for online schema changes to avoid blocking writes. You version your schema changes so deploys stay in sync with application code.