0
0
MySQLquery~20 mins

ENUM and SET types in MySQL - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
ENUM and SET Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
query_result
intermediate
2:00remaining
Output of ENUM column insertion
Consider a MySQL table colors with a column color defined as ENUM('red', 'green', 'blue'). What will be the output of this query?

INSERT INTO colors (color) VALUES ('yellow');
SELECT color FROM colors;
MySQL
CREATE TABLE colors (color ENUM('red', 'green', 'blue'));
INSERT INTO colors (color) VALUES ('yellow');
SELECT color FROM colors;
AThe row is inserted with color as NULL
BThe row is inserted with color as 'yellow'
CThe query raises a syntax error
DThe row is inserted with color as an empty string ('')
Attempts:
2 left
💡 Hint
ENUM columns accept only predefined values; invalid values are stored as empty string.
query_result
intermediate
2:00remaining
Counting SET values stored
Given a table user_prefs with a column prefs SET('email', 'sms', 'push'), what will be the output of this query?

INSERT INTO user_prefs (prefs) VALUES ('email,sms');
SELECT FIND_IN_SET('sms', prefs) AS sms_position FROM user_prefs;
MySQL
CREATE TABLE user_prefs (prefs SET('email', 'sms', 'push'));
INSERT INTO user_prefs (prefs) VALUES ('email,sms');
SELECT FIND_IN_SET('sms', prefs) AS sms_position FROM user_prefs;
A0
B2
C1
DNULL
Attempts:
2 left
💡 Hint
FIND_IN_SET returns the position of a string in a comma-separated list.
📝 Syntax
advanced
2:00remaining
Valid ENUM declaration
Which of the following is a valid ENUM column declaration in MySQL?
Astatus ENUM('new', 'pending', 'closed') NOT NULL DEFAULT 'pending'
Bstatus ENUM('new', 'pending', 'closed') DEFAULT 1
Cstatus ENUM('new', 'pending', 'closed') DEFAULT 'open'
Dstatus ENUM('new', 'pending', 'closed') NOT NULL DEFAULT 0
Attempts:
2 left
💡 Hint
Default value must be one of the ENUM values or empty string.
optimization
advanced
2:00remaining
Optimizing queries with SET columns
You have a table notifications with a SET column methods SET('email', 'sms', 'push'). Which query is the most efficient to find rows where 'sms' is one of the methods?
ASELECT * FROM notifications WHERE methods & 2;
BSELECT * FROM notifications WHERE methods LIKE '%sms%';
CSELECT * FROM notifications WHERE methods = 'sms';
DSELECT * FROM notifications WHERE FIND_IN_SET('sms', methods) > 0;
Attempts:
2 left
💡 Hint
SET columns are stored as bitmaps internally.
🧠 Conceptual
expert
2:00remaining
Behavior of ENUM with numeric values
What happens if you define an ENUM column as ENUM('1', '2', '3') and insert the value 2 (without quotes) into it?
AThe value '2' (string) is stored as ENUM index 2
BThe numeric 2 is converted to string '2' and stored correctly
CThe value 2 is treated as the ENUM index and stores '2' (the second ENUM value)
DThe insert fails with a type mismatch error
Attempts:
2 left
💡 Hint
ENUM values have numeric indexes starting at 1 internally.