What is NOT NULL?
NOT NULL means "this field must have a value". It cannot be empty.
Simple rule: Required fields use NOT NULL. Optional fields don't.
How NOT NULL Works
Basic Syntax
CREATE TABLE users (
user_id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
phone VARCHAR(20)
);Example 1: Required Fields
CREATE TABLE users (
user_id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL, -- Required
email VARCHAR(100) NOT NULL, -- Required
phone VARCHAR(20) -- Optional
);Example 2: Insert with Required Fields
-- Works: all required fields provided
INSERT INTO users (name, email) VALUES ('John', 'john@email.com');
-- Works: phone is optional
INSERT INTO users (name, email, phone) VALUES ('Mary', 'mary@email.com', '555-0001');Example 3: Query Users
SELECT * FROM users WHERE phone IS NULL;NOT NULL Rules
- Must have value - Cannot insert without it
- Use for important fields - Name, email, dates
- Skip for optional - Phone, address, notes
- NULL = no value - Not zero, not empty string
Try It Below
Use the playground to practice:
SELECT * FROM users;SELECT * FROM users WHERE phone IS NULL;
What Comes Next
Next: Learn CHECK Constraint to validate data with rules.