SQL ALTER TABLE (Add, Drop, Modify)

ALTER TABLE lets you change an existing tableโ€™s structure โ€” add, drop, or modify columns and constraints without losing data.

๐Ÿ”น Basic Syntax

-- Add a new column
ALTER TABLE table_name
ADD column_name datatype [constraints];

-- Drop a column
ALTER TABLE table_name
DROP COLUMN column_name;

-- Modify a column (syntax varies by DBMS)
ALTER TABLE table_name
MODIFY column_name new_datatype [constraints]; -- MySQL, Oracle

ALTER TABLE table_name
ALTER COLUMN column_name TYPE new_datatype; -- PostgreSQL, SQL Server

๐Ÿ”น Examples

-- Add a column 'email' to 'employees'
ALTER TABLE employees
ADD email VARCHAR(100);

-- Drop 'salary' column from 'employees'
ALTER TABLE employees
DROP COLUMN salary;

-- Modify 'email' column to be NOT NULL (MySQL)
ALTER TABLE employees
MODIFY email VARCHAR(100) NOT NULL;

๐Ÿ”น Notes

  • Syntax for modifying columns varies by DBMS โ€” always check your DBMS docs.
  • Some DBMS donโ€™t allow dropping columns easily (e.g., older versions of Oracle).
  • Use ALTER TABLE carefully, as structure changes affect existing data.

๐Ÿง  Quick Recap

OperationSyntax Example
Add columnALTER TABLE table ADD column datatype;
Drop columnALTER TABLE table DROP COLUMN column;
Modify colALTER TABLE table MODIFY column datatype; (MySQL, Oracle)

๐Ÿ’ก ALTER TABLE is powerful โ€” use it to adapt your table as requirements change.