Adding a new column is one of the fastest ways to evolve a dataset without tearing down its structure. In SQL, the ALTER TABLE command is the standard entry point. You supply the table name, specify ADD COLUMN, define the column name, and give it a type. One statement. One atomic alteration. No downtime unless your database engine requires a lock.
Best practice is to define constraints at creation. If the new column needs to be non-null, set a default immediately to avoid errors when inserting rows. For large tables, add indexes only after populating data, since indexing during creation can slow migrations by orders of magnitude.
In PostgreSQL:
ALTER TABLE users
ADD COLUMN last_login TIMESTAMP DEFAULT NOW();
This change pushes instantly to the schema, but downstream systems must adapt. Update APIs to handle the new field, adjust ORM models, and review query plans to ensure the column doesn’t degrade performance.