🔒 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'
);