Adding a new column in a database table is not just an operation—it is a contract change. Every row gets a new field. Every query must know if it exists, if it has a default, and how it will be read or written.
Before you add, name it with intent. Avoid vague labels. Avoid types that invite null chaos. Lock down the datatype now; you will rarely change it without pain later.
For SQL databases, the command is direct:
ALTER TABLE users ADD COLUMN last_login TIMESTAMP DEFAULT NOW();
But direct does not mean safe. Rolling out a new column in production requires a sequence. First, add it with defaults or nullable status to avoid breaking inserts. Second, deploy code that can read and write it. Third, backfill data if needed. Then, flip constraints to their intended state.