A new column changes the shape of your table. It alters schemas, queries, and indexes. It can break deployments if you fail to plan. In SQL, ALTER TABLE is the tool. Syntax is simple, but consequences ripple across every read and write.
To add a new column:
ALTER TABLE users
ADD COLUMN last_login TIMESTAMP;
This works in PostgreSQL, MySQL, and most major databases with minor syntax differences. The operation updates metadata, but on large tables it may lock access until complete. This is why database teams use strategies such as adding nullable columns, backfilling values in batches, and deploying in multiple steps.
When adding a new column with defaults, be aware: some databases rewrite the entire table. This turns a millisecond schema change into a multi-hour blocking event. Avoid setting heavy defaults in production migrations. Instead, add the column as NULL, backfill asynchronously, then add constraints later.