A new column changes the structure of data and the shape of queries. In SQL, adding a column is both simple and dangerous. Simple because the syntax is short. Dangerous because production migrations can lock tables and stall the system if done carelessly.
The most basic command is:
ALTER TABLE users ADD COLUMN last_login TIMESTAMP;
This works on small datasets. On large tables, it can block writes for a long time. Always consider the size of the table, the database engine, and whether the operation requires a full table rewrite.
PostgreSQL, MySQL, and MariaDB handle ADD COLUMN differently. In PostgreSQL, adding a nullable column without a default is instant. Adding a column with a default value rewrites the table in versions before 11, but is optimized in later versions. MySQL may block for significant periods depending on the storage engine and column type.