
Your data, our passion.
Snack-Sized Data Basics
SQL - Column Constraints
When creating a table, we need to specify
-
the SQL keyword required to create a table
-
the table name
-
the column names
-
the column data types
-
and the column constraints if any
CREATE TABLE table_name (
column_name_1 DATA_TYPE COLUMN_CONSTRAINT,
column_name_2 DATA_TYPE,
column_name_3 DATA_TYPE
);
Column constraints are used to impose restrictions on the type of data that can be stored in a column. While they are not required, they add an extra layer of data consistency and integrity. In a way, they act like security guards, ensuring that only the right data is allowed in and that everything follows the rules.

As we go over some common column constraints below, you'll notice the term NULL used frequently, so let's define it.
NULL represents a missing value in a column. It's important to note that NULL is not the same as a blank space or the number 0, as both of those are considered non-missing values.
Here are some common column constraints.
-
NOT NULL: ensures that a value is always provided (cannot be empty).
-
PRIMARY KEY: ensures a unique, non-NULL value for each record.
-
UNIQUE: ensures all values are unique, but allows NULL values.
-
DEFAULT: provides a default value for a column when no value is provided.
-
CHECK: ensures that the data meets specific conditions. For example, you might set a rule to only allow numbers above 5.
-
SERIAL: automatically generates a new, unique number for each record added. There's no need to specify INT as the data type when using SERIAL, as it automatically incorporates the INT data type.
-
FOREIGN KEY: creates a connection between two tables by referencing the unique ID in another table.
-
INDEX: speeds up data retrieval by creating a faster lookup, similar to an index in a book.
In our next lesson, we’ll explore table creation with some hands-on examples!