The customer table
This article introduces the structure of the customer table in the Sakila database.
The customer table contains a list of all customers.
The customer table refers to the the address and store tables using a foreign key.
The payment and rental tables refers to the city table using a foreign key.
Table Structure
The structure of the customer table is as follows:
+-------------+-------------------+------+-----+-------------------+-----------------------------------------------+
| Field       | Type              | Null | Key | Default           | Extra                                         |
+-------------+-------------------+------+-----+-------------------+-----------------------------------------------+
| customer_id | smallint unsigned | NO   | PRI | NULL              | auto_increment                                |
| store_id    | tinyint unsigned  | NO   | MUL | NULL              |                                               |
| first_name  | varchar(45)       | NO   |     | NULL              |                                               |
| last_name   | varchar(45)       | NO   | MUL | NULL              |                                               |
| email       | varchar(50)       | YES  |     | NULL              |                                               |
| address_id  | smallint unsigned | NO   | MUL | NULL              |                                               |
| active      | tinyint(1)        | NO   |     | 1                 |                                               |
| create_date | datetime          | NO   |     | NULL              |                                               |
| last_update | timestamp         | YES  |     | CURRENT_TIMESTAMP | DEFAULT_GENERATED on update CURRENT_TIMESTAMP |
+-------------+-------------------+------+-----+-------------------+-----------------------------------------------+
Table Columns
The following table explains all columns in the customer table.
| Column | Description | 
|---|---|
customer_id | 
The surrogate primary key used to uniquely identify each customer in the table. | 
store_id | 
A foreign key that identifies the customer’s “nearby store”. Customers not only rent from this store, but they also shop in this store. | 
first_name | 
The customer’s first name. | 
last_name | 
The customer’s last name. | 
email | 
Customer email address. | 
address_id | 
A foreign key that identifies the customer’s address in the address table. | 
active | 
Indicates whether the customer is an active customer. Set this FALSE as an alternative to physically delete the customer. Most queries should have a WHERE active = TRUE clause. | 
create_date | 
The date when the customer was added to the system. This date is automatically set using a trigger during `INSERT. | 
last_update | 
The time when the row was created or last updated. |