SQL ยท Chapter 32 of 42

SQL Constraints

Constraints enforce data quality rules at the database level.

Main ones: NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK, DEFAULT.

Example 1 (sql)
CREATE TABLE accounts (
  id BIGINT PRIMARY KEY,
  email VARCHAR(255) UNIQUE NOT NULL,
  balance DECIMAL(10,2) CHECK (balance >= 0),
  role VARCHAR(20) DEFAULT 'user'
);
Output
Table created with multiple constraints

Five constraint types combined.

Example 2 (sql)
ALTER TABLE orders
  ADD CONSTRAINT fk_user FOREIGN KEY (user_id) REFERENCES users(id);
Output
Constraint added

Add a foreign key later.

Key points

  • Constraints keep bad data out.
  • PRIMARY KEY = one per table.
  • FOREIGN KEY links to another table.
  • CHECK enforces a boolean rule.
๐Ÿ’ก Note: Enforcing rules in the DB is safer than only in the app โ€” bad data can still arrive via scripts, migrations or bugs.

๐Ÿ“ Quick Quiz

1. Which enforces a boolean rule per row?

2. DEFAULT provides:

3. PRIMARY KEY implies: