Schema changes are simple in theory but dangerous in practice. Adding a new column in SQL alters the table definition. This affects how the database stores, retrieves, and enforces data. In production systems, the wrong change can cascade into downtime or data loss.
A new column must be defined with intent. Choose the name and data type to match its role. Decide if it should be nullable or have a default value. Understand the impact of adding indexes at creation time. Each decision changes performance characteristics and disk usage.
In PostgreSQL, ALTER TABLE table_name ADD COLUMN column_name data_type; executes instantly for metadata-only updates. But if you give it a default value that is not NULL, the database rewrites the table. On large datasets this is slow and locks the table. In MySQL, adding a column often rebuilds the entire table. Plan around this with zero-downtime migration techniques, such as adding the column without a default, then backfilling in small batches.