SQL: Null constraints

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 rows. 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 to keep 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