Categories: SQL Tutorials

What are SQL Unique Constraint with example?

SQL Unique Constraint :

In my previous article i have given idea of different types of constraints in SQL as well as SQL Not null Constraint with its examples.  In This article i will try to explain about other SQL Constraint which is most important constraint of SQL which is specifically used to define the relationship between tables.SQL Unique constraint defines the unique values for that specific column.

The SQL UNIQUE Constraint uniquely identifies each record in a database table.

How To create Unique key Constraint in SQL ?

This section gives you the practical example of creating unique key which is used in real life industry scenarios.

The UNIQUE and PRIMARY KEY Constraints both provide a guarantee for Uniqueness for a column or set of columns.

A PRIMARY KEY Constraint automatically has a UNIQUE Constraint defined on it.

You can have many UNIQUE Constraints per table, but only one PRIMARY KEY Constraint per table is allowed.

Real life Scenario:

CREATE TABLE Student

(

RollNo Number (10) UNIQUE,

FName Varchar2 (15),

LName Varchar2 (15),

Location Varchar2 (20)

);

Try Entering below Query twice:

 Example:

 INSERT INTO Student (RollNo, FName, LName, Location)

Values (101,’Rajiv’, ‘M’, ‘Pune’);

ERROR at line 1:

ORA-00001: unique constraint (Rajiv.SYS_C004784) violated

To find System Constraint with Constraint Type:

SELECT Table_Name, Constraint_Type, Constraint_Name FROM User_Constraints;

To allow naming of a UNIQUE constraint, and for defining a UNIQUE constraint on multiple columns, use the following

SQL Syntax:

CREATE TABLE Student

(

RollNo Number (10),

FName Varchar2 (15),

LName Varchar2 (15),

Location Varchar2 (20),

CONSTRAINT U_Student_FName_LName UNIQUE (FName, LName)

);

Try Entering below Query twice:

 Example:

 INSERT INTO Student(RollNo, FName, LName, Location)

Values (101,’Amit, ‘S’, ‘Pune’);

ERROR at line 1:

ORA-00001: unique constraint (Amit.U_STUDENT_FNAME_LNAME) violated

 To DROP a UNIQUE Constraint:

 To Drop a UNIQUE Constraint, use the following SQL:

 Syntax:

 ALTER TABLE <Table_Name>

DROP CONSTRAINT <Constraint_Name>;

Example:

ALTER TABLE Student

DROP CONSTRAINT SYS_C005059;

ALTER TABLE Student

DROP CONSTRAINT U_Student2A_FName_LName;

Note: The above statement will drop the Unique Constraint ‘U_Student_FName_LName’ from the ‘Student’ Table.

SQL UNIQUE Constraint on ALTER TABLE:

To create a UNIQUE constraint on the “RollNo” Column when the table is already created, use below SQL:

 Syntax:

 ALTER TABLE <Table_Name>

ADD <Constraint_Type> (Column_Name);

ALTER TABLE Student

ADD Unique (RollNo);

Example 2:

ALTER TABLE Student MODIFY RollNo Number (5) UNIQUE;

ALTER TABLE Student MODIFY RollNo Unique;

To allow naming of a UNIQUE Constraint, and for defining a UNIQUE constraint on multiple columns, use the following

 Syntax:

 ALTER TABLE <Table_Name>

ADD CONSTRAINT <Constraint_Name> CONSTRAINT_TYPE (Column_Name);

Example:

ALTER TABLE Student

ADD CONSTRAINT U_Student_FName_Location UNIQUE (FName, Location);

Disable a UNIQUE CONSTRAINT:

 If we do not wish to DELETE the Unique Constraint as we may need the same in future but for some time we want the unique constraint not to function, then we can DISABLE the Unique Constraint.

Syntax:

 ALTER TABLE <Table_Name>

DISABLE CONSTRAINT <Constraint_Name>;

To find Constraint Enabled or Disabled:

Select Table_Name, Constraint_Type, Constraint_Name, Status, Generated from User_Constraints;

Example:

ALTER TABLE Student

DISABLE CONSTRAINT U_Student_FName_Location;

Here in the above ALTER Statement we have DISABLED the UNIQUE CONSTRAINT ‘<Constraint_Name>’ on the ‘Student’ Table.

Enabling a UNIQUE CONSTRAINT:

We can enable a unique constraint that has been disabled earlier, the syntax for enabling a unique constraint in Oracle SQL / PLSQL is:

 Syntax:

 ALTER TABLE <Table_Name>

ENABLE CONSTRAINT <Constraint_Name>;

Example:

ALTER TABLE Student

ENABLE CONSTRAINT U_Student_FName_Location;

Here in the above ALTER Statement we have ENABLED the UNIQUE CONSTRAINT ‘<Constraint_Name>’ on the ‘Student’ Table.

Hope This article will be helpful to the users to add the unique constraint in the table or to create new table with specified unique constraints. If you like this article or if you have any suggestions with this article kindly comment it in comment section.

Amit S

Oracle Consultant with vast experience in Oracle BI and PL/SQL Development. Amiet is the admin head of this website who contributes by preparing tutorials and articles related to database technologies. He is responsible to manage the content and front-end of the website.

Recent Posts

The Essential Guide to Cryptocurrency Exchange Platform Development for Beginners and Beyond

Introduction Cryptocurrencies took the world by storm, setting up a new financial system and breaking…

5 months ago

Top 20 System Administrator Interview Questions and answers

In my previous article I have given Top 20 technical support interview questions with its…

8 months ago

Desktop Support Scenario Based Interview Questions

In my previous articles I have given 15 most asked desktop support interview questions with…

8 months ago

How Do Business Analysts Use SQL for Their Needs?

A business analyst is someone who is versed in processes of data analysis used for…

8 months ago

Top 15 Control-M Interview Questions with Answers

In my previous article I have already given top questions and answers for Desktop support…

8 months ago

Top 20 SQL Interview Questions for Production Support

In my previous article I have given unix production support interview questions and answers. In…

8 months ago