A primary key is a column or a set of columns that uniquely identifies each row in a table. It ensures no two rows have the same key value.
Click to reveal answer
beginner
How do you declare a primary key when creating a table in MySQL?
You declare a primary key using the PRIMARY KEY keyword after the column definition or at the end of the column list in the CREATE TABLE statement.
Click to reveal answer
beginner
Can a primary key column contain NULL values?
No, a primary key column cannot contain NULL values because it must uniquely identify each row.
Click to reveal answer
beginner
What happens if you try to insert duplicate values into a primary key column?
The database will reject the insert and return an error because primary keys must be unique.
Click to reveal answer
beginner
Show an example of declaring a primary key on a single column in MySQL.
Example:
CREATE TABLE users ( id INT NOT NULL, name VARCHAR(100), PRIMARY KEY (id) );
Click to reveal answer
Which of the following is true about a primary key?
AIt allows NULL values.
BIt can have duplicate values.
CIt is optional and does not affect uniqueness.
DIt uniquely identifies each row and cannot be NULL.
✗ Incorrect
A primary key must uniquely identify each row and cannot contain NULL values.
How do you declare a primary key on the 'id' column when creating a table?
APRIMARY KEY id;
BUNIQUE KEY id;
CPRIMARY KEY (id);
DKEY PRIMARY id;
✗ Incorrect
The correct syntax is PRIMARY KEY (id) inside the CREATE TABLE statement.
What will happen if you insert two rows with the same primary key value?
ABoth rows will be inserted.
BThe second insert will fail with an error.
CThe database will automatically change the second value.
DThe first row will be deleted.
✗ Incorrect
Primary key values must be unique, so the second insert will fail.
Can a table have more than one primary key?
ANo, a table can have only one primary key.
BYes, multiple primary keys are allowed.
CYes, but only if they are on different columns.
DOnly if the keys are composite keys.
✗ Incorrect
A table can have only one primary key, which can be a single or composite key.
Which keyword is used to declare a primary key in MySQL?
APRIMARY KEY
BUNIQUE
CFOREIGN KEY
DINDEX
✗ Incorrect
The PRIMARY KEY keyword declares the primary key constraint.
Explain what a primary key is and why it is important in a database table.
Think about how you find a unique person in a list.
You got /3 concepts.
Describe how to declare a primary key in a MySQL CREATE TABLE statement with an example.
Look at the structure of CREATE TABLE and where PRIMARY KEY fits.
You got /3 concepts.
Practice
(1/5)
1. What is the main purpose of a PRIMARY KEY in a MySQL table?
easy
A. To uniquely identify each row and prevent duplicates
B. To allow NULL values in a column
C. To speed up SELECT queries only
D. To store large text data
Solution
Step 1: Understand the role of PRIMARY KEY
A PRIMARY KEY uniquely identifies each row in a table and ensures no duplicate or NULL values exist in that column.
Step 2: Compare options with PRIMARY KEY purpose
Only To uniquely identify each row and prevent duplicates correctly states the unique identification and prevention of duplicates, which is the main purpose.
Final Answer:
To uniquely identify each row and prevent duplicates -> Option A
Quick Check:
Primary key = unique row ID [OK]
Hint: Primary key means unique and no duplicates [OK]
Common Mistakes:
Thinking primary key allows NULL values
Confusing primary key with indexing only
Assuming primary key stores large text
2. Which of the following is the correct syntax to declare a primary key inline in a MySQL CREATE TABLE statement?
easy
A. CREATE TABLE users (id INT, name VARCHAR(50 PRIMARY KEY));
B. CREATE TABLE users (id INT, name VARCHAR(50), PRIMARY KEY id);
C. CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50));
D. CREATE TABLE users (id INT, PRIMARY KEY, name VARCHAR(50));
Solution
Step 1: Review inline primary key syntax
Inline primary key declaration is done by adding PRIMARY KEY right after the column type, like id INT PRIMARY KEY.
Step 2: Check each option
CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50)); correctly places PRIMARY KEY inline after id INT. Others have syntax errors or misplaced keywords.
Final Answer:
CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50)); -> Option C
Quick Check:
Inline primary key = column type + PRIMARY KEY [OK]
Hint: Inline primary key goes right after column type [OK]
Common Mistakes:
Placing PRIMARY KEY after column list without parentheses
Using PRIMARY KEY without column name
Putting PRIMARY KEY after another column
3. Given the table creation below, what will be the result of inserting two rows with the same id?
CREATE TABLE products (
id INT PRIMARY KEY,
name VARCHAR(100)
);
INSERT INTO products (id, name) VALUES (1, 'Pen');
INSERT INTO products (id, name) VALUES (1, 'Pencil');
medium
A. Both rows inserted successfully
B. Error due to duplicate primary key value
C. Second row overwrites the first row
D. NULL inserted for the second row's id
Solution
Step 1: Understand primary key uniqueness
The primary key column id must have unique values. Duplicate values cause errors.
Step 2: Analyze the insert statements
The first insert adds id=1. The second insert tries to add the same id=1, violating uniqueness.
Final Answer:
Error due to duplicate primary key value -> Option B
Quick Check:
Duplicate primary key = error [OK]
Hint: Primary key duplicates cause insert errors [OK]
D. Missing parentheses around the primary key column
Solution
Step 1: Check syntax for separate primary key declaration
When declaring a primary key separately, the column name(s) must be inside parentheses, like PRIMARY KEY (order_id).
Step 2: Identify the error in the statement
The statement uses PRIMARY KEY order_id without parentheses, causing a syntax error.
Final Answer:
Missing parentheses around the primary key column -> Option D
Quick Check:
Separate primary key needs parentheses [OK]
Hint: Separate primary key needs ( ) around columns [OK]
Common Mistakes:
Omitting parentheses in separate primary key
Thinking primary key must be inline only
Assuming INT type is invalid for primary key
5. You want to create a table employees with a composite primary key consisting of department_id and employee_number. Which is the correct way to declare this primary key?
A composite primary key is declared by listing multiple columns inside parentheses after PRIMARY KEY.
Step 2: Evaluate each option
CREATE TABLE employees (department_id INT, employee_number INT, PRIMARY KEY (department_id, employee_number)); correctly declares both columns together as a composite primary key. CREATE TABLE employees (department_id INT PRIMARY KEY, employee_number INT PRIMARY KEY); tries to assign two primary keys separately, which is invalid. CREATE TABLE employees (department_id INT, employee_number INT PRIMARY KEY); declares only one column as primary key. CREATE TABLE employees (department_id INT, employee_number INT, PRIMARY KEY department_id, employee_number); has syntax errors missing parentheses.