The act is simple: extend your schema, give the dataset room to grow. In SQL, ALTER TABLE is the command. In PostgreSQL, MySQL, or SQLite, it’s nearly the same—declare the column name, define its type, set defaults or constraints, and watch it appear.
New columns change more than the table. They shift queries, indexes, and cache behavior. They reshape API responses, break brittle client code, and demand updates to migrations. Planning matters. When adding a new column in production, run it in a migration file with transactions if supported. Make it nullable until data is backfilled. Create indexes after the column is populated to avoid expensive writes during the change.
In PostgreSQL:
ALTER TABLE users ADD COLUMN last_login TIMESTAMP DEFAULT NOW();
In MySQL: