Skip to main content

Differences Between Primary Key and Unique Key


Both Primary Key and Unique Key enforces the Uniqueness of columns in table.

Primary Key
Unique Key
Primary key does not allow NULL values.
Because of Primary Key=Unique Key+ NOT NULL
Unique key allows NULL Values.
But it allows only single NULL value
When we creating the primary key on a table automatically cluster index is created on table. When we the Unique key on a table automatically Unique non-clustered index created on table.
A table has a only one primary key.
But Primary key can created the multiple columns this is known as composite primary key.
A table has more than one unique key.
Syntax for Primary key On single Column.


CREATE TABLE dbo.Student
(
Id INT NOT NULL PRIMARY KEY,
FirstName VARCHAR(100),
LastName VARCHAR(100),
City VARCHAR(50)
)



Syntax for Unique key On single Column.


CREATE TABLE dbo.Student
(
Id INT NOT NULL UNIQUE ,
FirstName VARCHAR(100),
LastName VARCHAR(100),
City VARCHAR(50)
)



Syntax for Primary key On Multiple Column.


CREATE TABLE dbo.Student
(
Id INT NOT NULL ,
FirstName VARCHAR(100),
LastName VARCHAR(100),
City VARCHAR(50),
Constraint Pk_Student primary key(Id,FirstName)
)
Syntax for Primary key On Multiple Column.

CREATE TABLE dbo.Student
(
Id INT NOT NULL ,
FirstName VARCHAR(100),
LastName VARCHAR(100),
City VARCHAR(50),
Constraint Uk_Student Unique(Id,FirstName)
)

Comments

Popular posts from this blog

How to Use Merge Statement Using XML Data

We now that merge statement in SQL SERVER. With Merge statement we can merge the data from Source table into Target table. In the Last article we have already seen about Merge Statement .   These articles we will work around merge statement over xml data type. We know that xml data type SQL SERVER. XML Data type is used to storing xml data used Bulk Insert Data into SQL Tables. Example: --Create Student Table if object_id ( 'Student' ) is null create table Student ( id int identity ( 1 , 1 ) , Name varchar ( 20 ), Marks int ) Declare Xml Data Type and Assign Some Xml Data. Declare @Data xml set @Data = '<Root> <Student> <Name>Rakesh</Name> <Marks>80</Marks> </Student> <Student> <Name>Mahesh</Name> <Marks>90</Marks> </Student> <Student> <Name>Gowtham</Name...

Difference between delete and truncate

Delete Truncate In Delete Query we can use Where Clause In Truncate Query we can not use Where Clause Syntax DELETE FROM [Table_Name] or DELETE FROM [Table_Name] WHERE [Condition] Syntax: TRUNCATE TABLE [Table_Name] Comparing the Delete is Slower than truncate Comparing the Truncate is faster than the delete query In Delete Query we can delete single only or multiple rows by using where clause. In Truncate Query All the rows data truncated from table. We can use triggers when delete query is executed . We can not use triggers when truncate query is executed. Delete query is logs the data. Truncate can not log the data. Delete query delete the data from table using row by row scenario. Truncate query truncate the data from table using page by page scenario...