Primary Key vs Unique Key
The main difference between a primary key vs unique key is that a primary key is a key that uniquely identifies each record in a table but cannot store NULL values. In contrast, a unique key prevents duplicate values in a column and can store NULL values.
In this article, we will explore the primary key vs unique key in great detail. But, before we do that, let’s quickly go through the list of topics listed under the table of contents (TOC) we will cover in this article.
You can also explore: 100+ SQL Interview Questions and Answers for 2023
Table of contents (TOC)
- Primary key vs Unique key
- What is a primary key?
- Primary key features
- What is a unique key?
- Unique key features
- Key differences between primary key vs unique key
- Conclusion
You can also explore these article, related to database:
Primary key vs Unique key
For a better understanding, let’s cover the difference between the primary key vs unique key in a tabular format:
Benchmark | Primary key | Unique key |
---|---|---|
What it is? | A key that uniquely identifies each record in a tabel | A key that prevents duplicate values in a column |
Allows you to save a NULL value? | No | Yes |
Does this key generate a clustered index? | Yes | No |
Does this key generate a non-clustered index? | No | Yes |
How many keys can be there on a table? | Only one | More than one |
What’s the purpose of this key? | To support entity integrity | To support unique data |
Does this key allow you to modify or delete the column’s value? | No | Yes |
Does this key support auto increment value? | Yes | No |
Why use this key? | To identify each record in the table | To avoid duplicate entries in a column except for a NULL value |
What’s the syntax to create this key? | CREATE TABLE EmployeeNaukri ( Id INT PRIMARY KEY, name VARCHAR(250), address VARCHAR(150) ) |
CREATE TABLE PersonNaukri ( Id INT UNIQUE, name VARCHAR(250), address VARCHAR(150) ) |
Best-suited IT & Software courses for you
Learn IT & Software with these high-rated online courses
What is a primary key?
Primary key definition: A primary key is a column or set of columns that uniquely identifies each record in a table and cannot have NULL or duplicate values.
You can also explore: Find Nth highest salary in SQL
Because we have a table with unique rows, the primary key mai role is to add authenticity. To understand the primary key in a better way, let’s go through an example.
Primary key example:
Consider Table A, shown below:
Aadhar_card | Name | Age |
---|---|---|
565678643987 | Anshuman | 25 |
536790765678 | Atul | 28 |
569376547367 | Anshuman | 27 |
Here, in this table A, Aadhar_card is the primary key. This Aadhar_card column can be used to uniquely identify the rows of table A.
Primary key features
There are many features of the primary key. So, let’s explore some of those features:
- Duplicate values in the primary key column are not permitted.
- The primary key ensures the table’s entity integrity.
- A table can only have one primary key column.
- One or more table fields can be used to create the primary key.
You can also explore: SQL query to find second highest salary
What is a unique key?
Unique key definition: A unique key is a column or set of columns that prevent duplicate values in a column and can store NULL values.
Unlike a primary key column, a table can have multiple unique key columns. This key is fairly similar to the primary key, except that the unique key column can store one NULL value. To understand the unique key in a better way, let’s go through an example.
Unique key example:
Consider Table B, shown below:
Aadhar_card | Name | Age | Mobile_number | City |
---|---|---|---|---|
565678643987 | Anshuman | 25 | 7865678765 | Lucknow |
536790765678 | Atul | 28 | 7876578956 | Noida |
569376547367 | Anshuman | 27 | 7793067878 | NULL |
Here, in this table B, Mobile_Number and City are the unique keys. Mobile_Number and City columns can be used as unique keys in order to prevent duplicate values in a column and can store NULL values, as shown in Table B.
You can also explore: Database and SQL Online Courses & Certifications
Unique key features
Some of the features of a unique key are:
- A unique key can be made from one or more table fields.
- A table can have multiple unique keys, as shown in table B.
- The NULL value can be stored in the unique constraint column.
- A unique key stores data in non-clustered unique indexes by default.
- In order to keep a table’s uniqueness, the foreign key can refer to the unique constraint.
You can also explore: What are Constraints in SQL?
Must explore: All About DML Commands in SQL
Key differences between primary key vs unique key
Now that we know what primary and unique keys are, let’s go through the key differences between the primary key vs unique key:
- The primary key does not store null values, whereas the unique key does.
- A table can only have one primary key, whereas it can have multiple unique keys.
- The primary key does not allow you to delete or modify the data. On the other hand, a unique key does.
- The primary key’s purpose is to enforce entity integrity, whereas the unique key’s purpose is to enforce unique data.
You can also explore: FOREIGN KEY IN SQL
Conclusion
In this article, we have discussed primary and unique keys and the difference between them. It is important to remember that the usage of a primary key is valid when you don’t want to have any NULL values in a table. And a unique key is valid when you don’t want to have any duplicate values in a table.
You should also keep in mind that values or the data in the primary key are saved in the clustered index, whereas values or the data in the unique key are saved in the non-clustered index. Now that you have understood what primary and unique keys are and the difference between primary key vs unique key, you will be able to store the data in a table in a much better way and as per the requirement. If you have any queries regarding this article, please feel free to drop your query in the comment box. We will be happy to help.
You can also explore other difference between articles, such as:
FAQs
What is the main difference between primary key and unique key?
The main difference between a primary key vs unique key is that a primary key is a key that uniquely identifies each record in a table but cannot store NULL values. In contrast, a unique key prevents duplicate values in a column and can store NULL values.
What is the primary key?
A primary key is a column or set of columns that uniquely identifies each record in a table and cannot have NULL or duplicate values.
What is the unique key?
Unique key is a column or set of columns that prevent duplicate values in a column and can store NULL values.
Regarding the difference between the primary key vs unique key, which key can store NULL values?
In terms of primary key vs unique key, the unique key can store NULL values.
Regarding the difference between the primary key vs unique key, how is the data saved in both keys?
In terms of primary key vs unique key, the datau00a0in the primary key are saved in the clustered index, whereas values or the datau00a0in the unique key are saved in the non-clustered index.
What is Foreign Key?
A Foreign Key is a field or collection of fields in one table, which refers to the Primary Key of another table.
Anshuman Singh is an accomplished content writer with over three years of experience specializing in cybersecurity, cloud computing, networking, and software testing. Known for his clear, concise, and informative wr... Read Full Bio