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 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 |