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
12: DEMO Using Vercel Postgres COMING SOON
Are you intimidated by Git? Can’t figure out merge vs rebase? Are you afraid of screwing up something any time you have to do something in Git? Do you rely on ChatGPT or random people’s answer on StackOverflow to fix your problems? Your coworkers are tired of explaining Git to you all the time? Git is something we all need to use, but few of us really master it. I created this course to improve your Git (and GitHub) knowledge at a radical level. Launching May 21, 2024. Join the waiting list!