🔒 Constraints in SQL

Last Updated: January 2026


Constraints are rules applied to table columns to ensure data integrity and accuracy. They control what values can be stored in a table.

  • Prevent invalid data
  • Ensure uniqueness
  • Maintain relationships between tables
  • Automate checks instead of manual validation

Hinglish Tip 🗣: Table me galat ya duplicate data na aaye, iske liye constraints lagate hain.


🧩 Types of Constraints

UNIQUE

  • Ensures no duplicate values
  • Can be multiple per table

Example

CREATE TABLE employees (
    emp_id INT PRIMARY KEY,
    email VARCHAR(100) UNIQUE
);

NOT NULL

  • Column cannot be left empty

Example

CREATE TABLE employees (
    emp_id INT PRIMARY KEY,
    emp_name VARCHAR(50) NOT NULL
);

NULL

  • Absence of a value

Example

CREATE TABLE employees (
    emp_id INT PRIMARY KEY,
    emp_name VARCHAR(50) NULL
);

CHECK

  • Restricts values based on condition

Example

CREATE TABLE employees (
    emp_id INT PRIMARY KEY,
    salary INT CHECK (salary > 0)
);

DEFAULT

  • Sets default value if none provided

Example

CREATE TABLE employees (
    emp_id INT PRIMARY KEY,
    status VARCHAR(10) DEFAULT 'Active'
);

AUTO_INCREMENT

  • Automatically increments values

Example

CREATE TABLE employees (
    emp_id INT PRIMARY KEY AUTO_INCREMENT,
    emp_name VARCHAR(50)
);

REFERENCES

  • Creates foreign key relationship between tables

Example

CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    customer_id INT,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);

ZEROFILL

  • Pads leading zeros to numeric values

Example

CREATE TABLE employees (
    emp_id INT PRIMARY KEY,
    salary DECIMAL(10, 2) ZEROFILL
);

COMMENT

  • Adds description to tables and columns

Example

CREATE TABLE employees (
    emp_id INT PRIMARY KEY,
    emp_name VARCHAR(50) COMMENT 'FILL Employee name'
);