SQL Tutorial SQL Advanced SQL Database SQL References

SQL - PRIMARY KEY



The SQL PRIMARY KEY constraint is used to ensure that all values in a column of a table are UNIQUE and NOT NULL. A table can have only one PRIMARY KEY constraint, and a primary key can consist of single or multiple columns (fields).

SQL PRIMARY KEY constraint with CREATE TABLE

The below mentioned SQL code creates a table called Employee which contains five columns: EmpID, Name, City, Age and Salary in which PRIMARY KEY constraint is applied on column EmpID.

CREATE TABLE Employee (
  EmpID INT NOT NULL PRIMARY KEY,
  Name VARCHAR(255),
  City VARCHAR(100),
  Age INT,
  Salary DECIMAL(18,2)
);

Alternatively, it can also be created as mentioned below:

CREATE TABLE Employee (
  EmpID INT NOT NULL,
  Name VARCHAR(255),
  City VARCHAR(100),
  Age INT,
  Salary DECIMAL(18,2),
  PRIMARY KEY(EmpID)
);

To provide a name to PRIMARY KEY constraint, and to define a PRIMARY KEY constraint on multiple columns (say EmpID and Name), the SQL code is given below:

CREATE TABLE Employee (
  EmpID INT NOT NULL,
  Name VARCHAR(255),
  City VARCHAR(100),
  Age INT,
  Salary DECIMAL(18,2),
  CONSTRAINT PK_Employee PRIMARY KEY(EmpID, Name)
);

SQL PRIMARY KEY constraint with ALTER TABLE

In the above example, a table called Employee is created. To enforce PRIMARY KEY constraint on EmpID column, the SQL code is given below:

ALTER TABLE Employee
ADD PRIMARY KEY (EmpID);

To provide a name to PRIMARY KEY constraint, and to define a PRIMARY KEY constraint on multiple columns (say EmpID and Name), the SQL code is given below:

ALTER TABLE Employee
ADD CONSTRAINT PK_Employee PRIMARY KEY (EmpID, Name);

DROP PRIMARY KEY constraint

To drop PK_Employee PRIMARY KEY constraint from table called Employee, the SQL code is given below:

MySQL / Oracle

ALTER TABLE Employee
DROP PRIMARY KEY;

SQL Server / Oracle / MS Access

ALTER TABLE Employee
DROP CONSTRAINT PK_Employee;