Adding a new column to a database table sounds simple. It rarely is. Every change touches code paths, queries, and downstream systems. Done right, it strengthens the model without causing downtime. Done wrong, it triggers deploy rollbacks, data corruption, or cascading failures.
A NEW COLUMN in SQL lets you extend a table with fresh data without replacing the whole schema. In PostgreSQL, you use:
ALTER TABLE users ADD COLUMN last_login TIMESTAMP;
This runs fast if the column allows NULL and has no default. Postgres only updates the system catalog. But if you add a NOT NULL with a default, it writes to every row — locking the table and delaying queries. MySQL has its own edge cases, where on-disk changes can block reads and writes unless you use ALGORITHM=INPLACE or ALGORITHM=INSTANT for compatible types.