SQL Unique Key

A Unique Key in SQL is a constraint that ensures all values in a column or a set of columns are distinct from each other. Unlike the primary key, a unique key allows for NULL values but ensures that no two non-null values are the same.

Unique keys are used to maintain the integrity of data by preventing duplicate values in a column (or set of columns). They can be applied to one or more columns, and each unique key in a table must have a unique value for its columns across all rows.

Tables Used

Customers Table:
CustomerID CustomerName Email
101 Alice alice@example.com
102 Bob bob@example.com
103 Charlie charlie@example.com

Example with Unique Key

In this example, we will create a Customers table where the Email column has a unique constraint. This ensures that no two customers can have the same email address, preventing duplicate entries for the same email.

Code Example


    -- Create the Customers table with a UNIQUE constraint on the Email column
    CREATE TABLE Customers (
        CustomerID INT PRIMARY KEY,
        CustomerName VARCHAR(100),
        Email VARCHAR(100) UNIQUE
    );
    
    -- Insert data into the Customers table
    INSERT INTO Customers (CustomerID, CustomerName, Email) VALUES (101, 'Alice', 'alice@example.com');
    INSERT INTO Customers (CustomerID, CustomerName, Email) VALUES (102, 'Bob', 'bob@example.com');
    INSERT INTO Customers (CustomerID, CustomerName, Email) VALUES (103, 'Charlie', 'charlie@example.com');
    
    -- View the Customers table
    SELECT * FROM Customers;
            

Output Table

CustomerID CustomerName Email
101 Alice alice@example.com
102 Bob bob@example.com
103 Charlie charlie@example.com

Explanation

- Unique Key: The Unique Key constraint ensures that the values in the Email column are unique across all rows. In this case, no two customers can share the same email address.
- Customers Table: The Customers table has a unique constraint applied to the Email column. This prevents any duplication of email addresses in the database.
- Data Insertion: We insert several rows into the Customers table. The unique key ensures that each email address is distinct.
- Output: The resulting Customers table shows the unique combination of CustomerID and Email in each row, with no duplicate email addresses.