Back to all posts

The ALTER TABLE statement in Microsoft SQL Server (MSSQL) and PostgreSQL

The ALTER TABLE statement in Microsoft SQL Server (MSSQL) and PostgreSQL is used to modify the structure of an existing table. It allows you to: Add, drop,…

The ALTER TABLE statement in Microsoft SQL Server (MSSQL) and PostgreSQL is used to modify the structure of an existing table. It allows you to:

  • Add, drop, or modify columns
  • Add or drop constraints
  • Rename tables or columns
FeatureMSSQL ExamplePostgreSQL Example
Add columnADDADD COLUMN
Drop columnDROP COLUMNDROP COLUMN
Modify columnALTER COLUMNALTER COLUMN ... TYPE
Rename columnsp_renameRENAME COLUMN
Rename tablesp_renameRENAME TO
Add Primary KeyADD CONSTRAINT ... PRIMARY KEYADD CONSTRAINT ... PRIMARY KEY
Add Foreign KeyADD CONSTRAINT ... FOREIGN KEY REFERENCESADD CONSTRAINT ... FOREIGN KEY REFERENCES

🔄 ALTER TABLE Statement: MSSQL vs PostgreSQL with Flag

OperationMSSQL ExamplePostgreSQL ExampleSame?
Add a ColumnALTER TABLE Employees ADD Email VARCHAR(100);ALTER TABLE Employees ADD COLUMN Email VARCHAR(100);
Drop a ColumnALTER TABLE Employees DROP COLUMN Email;ALTER TABLE Employees DROP COLUMN Email;
Modify Column TypeALTER TABLE Employees ALTER COLUMN Name NVARCHAR(150);ALTER TABLE Employees ALTER COLUMN Name TYPE VARCHAR(150);
Rename a ColumnEXEC sp_rename 'Employees.Name', 'FullName', 'COLUMN';ALTER TABLE Employees RENAME COLUMN Name TO FullName;
Rename a TableEXEC sp_rename 'Employees', 'Staff';ALTER TABLE Employees RENAME TO Staff;
Add Primary KeyALTER TABLE Employees ADD CONSTRAINT PK_EmpID PRIMARY KEY (EmployeeID);ALTER TABLE Employees ADD CONSTRAINT PK_EmpID PRIMARY KEY (EmployeeID);
Drop Primary KeyALTER TABLE Employees DROP CONSTRAINT PK_EmpID;ALTER TABLE Employees DROP CONSTRAINT PK_EmpID;
Add Foreign KeyALTER TABLE Orders ADD CONSTRAINT FK_Orders_Emp FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID);ALTER TABLE Orders ADD CONSTRAINT FK_Orders_Emp FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID);
Drop Foreign KeyALTER TABLE Orders DROP CONSTRAINT FK_Orders_Emp;ALTER TABLE Orders DROP CONSTRAINT FK_Orders_Emp;

✅ Summary:

  • Identical Syntax for: Add/Drop Primary Key, Add/Drop Foreign Key, Drop Column.
  • Different Syntax for: Add Column, Modify Column Type, Rename Column/Table.

Keep building your data skillset

Explore more SQL, Python, analytics, and engineering tutorials.