Adding a new column changes more than your schema. It touches queries, indexes, APIs, and the code that depends on them. Done wrong, it slows your system or breaks production. Done well, it extends features without risk.
A new column in SQL can be added with a simple command:
ALTER TABLE users ADD COLUMN last_login TIMESTAMP;
This is the surface layer. Beneath it are the decisions that prevent outages. Choosing the correct data type is critical. Mismatched types lead to incorrect results or costly implicit casts. Decide if the column should accept NULL values. Default values should be set with intent, not as an afterthought.
Add new columns in a way that keeps migrations safe in high-traffic systems. On large tables, ALTER TABLE can lock writes. Use online schema changes or phased rollouts to avoid downtime. In PostgreSQL, adding a column with a NULL default is fast. But adding one with a non-null default rewrites the entire table. Know the impact before you run it.