bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/SQL/SQL Database
SQL•SQL Database

SQL PRIMARY KEY Constraint

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind SQL PRIMARY KEY Constraint?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ TABLE Persons
3Order

Put the learning moves in the order that makes the concept easiest to apply.

PRIMARY KEY on Multiple Columns
PRIMARY KEY on CREATE TABLE
SQL PRIMARY KEY Constraint

The PRIMARY KEY constraint uniquely identifies each record in a database table.

A PRIMARY KEY constraint ensures unique values, and cannot contain NULL values (it is a combination of both a UNIQUE constraint and a NOT NULL constraint).

A table can have only ONE PRIMARY KEY constraint. The primary key can either be a single column, or a combination of columns.

Tip

The primary key is the target for FOREIGN KEY constraints in other tables (which enforces referential integrity between data in two tables).

PRIMARY KEY on CREATE TABLE

The following SQL creates a PRIMARY KEY on the "ID" column upon creation of the "Persons" table:

CREATE TABLE Persons
(
 ID int PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);

PRIMARY KEY on Multiple Columns

To define an un-named PRIMARY KEY constraint on multiple columns, use the following SQL syntax:

CREATE TABLE Persons
(
 ID int,
LastName varchar(255),
FirstName varchar(255),
Age int,
 PRIMARY KEY (ID, LastName)
);

Note

In the example above, the PRIMARY KEY value is made up of two columns (ID + LastName).

To define a named PRIMARY KEY constraint on multiple columns, use the following SQL syntax:

CREATE TABLE Persons
(
 ID int,
LastName varchar(255),
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID, LastName)
);

Note

In the example above, the PRIMARY KEY is named "PK_Person", and the value is made up of two columns (ID + LastName).

PRIMARY KEY on ALTER TABLE

To create a PRIMARY KEY constraint on the "ID" column when the table already has been created, use the following SQL:

ALTER TABLE Persons
ADD PRIMARY KEY (ID);

PRIMARY KEY on Multiple Columns

To define a named PRIMARY KEY constraint on multiple columns, use the following SQL syntax:

ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID, LastName);

Note

When using ALTER TABLE to add a primary key, the primary key column(s) must have been declared with NOT NULL upon creation of the table.

Drop a PRIMARY KEY Constraint

To drop a PRIMARY KEY constraint, use the following SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT PK_Person;

MySQL

ALTER TABLE Persons
DROP PRIMARY KEY;

Previous

SQL UNIQUE Constraint

Next

SQL FOREIGN KEY Constraint