AI Workshop: learn to build apps with AI →
SQL: Null constraints

Join the AI Workshop and learn to build real-world apps with AI. A hands-on, practical program to level up your skills.


When we create a table in this way:

CREATE TABLE people (
  age INTEGER,
  name TEXT
);

SQL freely accepts empty values as records:

INSERT INTO people VALUES (null, null);

This might be a problem, because now we have a row with null values:

To solve this, we can declare constraints on our table columns. NOT NULL prevents null values:

DROP TABLE people;

CREATE TABLE people (
  age INTEGER NOT NULL,
  name TEXT NOT NULL
);

If we try to execute this query again:

INSERT INTO people VALUES (null, null);

We’d get an error, like this:

This is an example of the DBMS setting boundaries on the data we insert.

Very helpful for keeping the data clean.

Lessons in this unit:

0: Introduction
1: Using TablePlus
2: Create a Postgres database
3: Create a new table
4: Add data to a table
5: Query data with SELECT
6: Delete data from the database
7: Update data with UPDATE
8: ▶︎ Null constraints
9: Unique and primary keys
10: Updating a table structure
11: Joins
12: SQL Views
13: SQL, copy data from one table to another