Adding a new column changes how data is stored, queried, and maintained. It is not just a schema tweak. It affects indexes, queries, and application logic. Choosing the right data type at the start prevents costly migrations later. Name the column for clarity. Avoid abbreviations unless they are standard in your codebase.
In SQL, the command is direct:
ALTER TABLE users ADD COLUMN last_login TIMESTAMP;
This works fast on small tables. On large ones, it can lock rows and slow the system. Use rolling migrations or background processes to reduce downtime. In PostgreSQL, adding a nullable column with a default value can lock the whole table. In MySQL, older versions rebuild the table for any new column. Modern engines can handle some operations instantly, but not all.
When adding a new column, update your ORM models and schema files in the same commit. Keep migrations atomic. Test in staging with production-size data to expose timing and lock issues. Review all queries touching the table. Missing updates cause silent bugs.