Create a Customer Feedback Table Using String Types
📖 Scenario: You work for a company that collects customer feedback. You need to create a database table to store customer names, their email addresses, and their feedback messages.
🎯 Goal: Build a MySQL table named customer_feedback using appropriate string types: VARCHAR for names and emails, and TEXT for feedback messages.
📋 What You'll Learn
Create a table named customer_feedback
Add a name column with type VARCHAR(50)
Add an email column with type VARCHAR(100)
Add a feedback column with type TEXT
Use CHAR(2) for a rating column to store short codes
💡 Why This Matters
🌍 Real World
Companies often store customer feedback in databases using appropriate string types to save space and improve performance.
💼 Career
Knowing how to choose and use string types in SQL is essential for database design and management roles.
Progress0 / 4 steps
1
Create the customer_feedback table with name and email columns
Write a SQL statement to create a table called customer_feedback with two columns: name as VARCHAR(50) and email as VARCHAR(100).
MySQL
Hint
Use CREATE TABLE followed by the table name and define columns with their types inside parentheses.
2
Add a feedback column with type TEXT
Add a new column called feedback of type TEXT to the existing customer_feedback table creation statement.
MySQL
Hint
The TEXT type is used for longer text data like messages or comments.
3
Add a rating column with type CHAR(2)
Add a column called rating with type CHAR(2) to store short rating codes in the customer_feedback table.
MySQL
Hint
Use CHAR(2) for fixed-length short strings like rating codes.
4
Complete the table creation with all columns
Ensure the customer_feedback table creation statement includes all four columns: name VARCHAR(50), email VARCHAR(100), feedback TEXT, and rating CHAR(2).
MySQL
Hint
Double-check all columns and types are included in the final statement.
Practice
(1/5)
1. Which MySQL string type is best for storing names that can vary in length but are usually short?
easy
A. VARCHAR
B. CHAR
C. TEXT
D. BLOB
Solution
Step 1: Understand string types for short variable-length text
VARCHAR stores variable-length strings efficiently, saving space for shorter values.
Step 2: Compare with other types
CHAR is fixed-length and wastes space if data varies; TEXT is for large text; BLOB is for binary data.
Final Answer:
VARCHAR -> Option A
Quick Check:
Variable-length short text = VARCHAR [OK]
Hint: Use VARCHAR for short, varying length text [OK]
Common Mistakes:
Choosing CHAR wastes space for variable length
Using TEXT for small strings is inefficient
Confusing BLOB with text types
2. Which of the following is the correct syntax to declare a column named description that can hold up to 255 characters using VARCHAR in MySQL?
easy
A. description VARCHAR(255)
B. description CHAR(255)
C. description TEXT(255)
D. description VARCHAR
Solution
Step 1: Recall VARCHAR syntax
VARCHAR requires a length in parentheses, e.g., VARCHAR(255).
Hint: Always specify length in parentheses for VARCHAR [OK]
Common Mistakes:
Omitting length for VARCHAR
Adding length to TEXT type
Confusing CHAR and VARCHAR syntax
3. Given the table users with a username CHAR(10) column, what will be the result of this query?
INSERT INTO users (username) VALUES ('bob'); SELECT username, LENGTH(username) FROM users WHERE username = 'bob';
medium
A. username = 'bob', LENGTH(username) = 3
B. username = 'bob ', LENGTH(username) = 3
C. username = 'bob', LENGTH(username) = 10
D. username = 'bob ', LENGTH(username) = 10
Solution
Step 1: Understand CHAR behavior on insert
CHAR(10) stores fixed length strings, padding with spaces to length 10.
Step 2: Check LENGTH function on padded string
LENGTH counts all characters including spaces, so LENGTH('bob ') = 10.
Final Answer:
username = 'bob ', LENGTH(username) = 10 -> Option D
Quick Check:
CHAR pads with spaces, LENGTH counts all chars [OK]
Hint: CHAR pads with spaces; LENGTH counts all characters [OK]
Common Mistakes:
Assuming LENGTH returns 3 for 'bob'
Ignoring space padding in CHAR
Confusing CHAR with VARCHAR behavior
4. You have a column defined as notes TEXT. You try to insert a string longer than 65,535 characters and get an error. What is the likely cause and how to fix it?
medium
A. VARCHAR max length is 65,535; use TEXT instead
B. TEXT type has a max length of 65,535 bytes; use MEDIUMTEXT for longer text
C. CHAR cannot store large text; use VARCHAR(65535)
D. TEXT type has no length limit; error is from syntax
Solution
Step 1: Recall TEXT max size limits
TEXT can store up to 65,535 bytes; longer text causes error.
Step 2: Choose correct larger text type
MEDIUMTEXT supports up to 16 million bytes, suitable for longer text.
Final Answer:
TEXT type has a max length of 65,535 bytes; use MEDIUMTEXT for longer text -> Option B
Quick Check:
TEXT max 65,535 bytes; MEDIUMTEXT for more [OK]
Hint: TEXT max 65k chars; use MEDIUMTEXT for bigger text [OK]
Common Mistakes:
Thinking TEXT has unlimited length
Using VARCHAR for very large text
Confusing CHAR with TEXT size limits
5. You want to store user comments that can be very long but also want to optimize storage for short comments. Which MySQL string type should you choose and why?
hard
A. Use VARCHAR(500) to save space for short comments and allow long ones
B. Use CHAR(500) to fix length and speed up queries
C. Use TEXT because it stores large text without fixed length
D. Use VARCHAR(65535) to cover all comment lengths
Solution
Step 1: Consider storage needs for very long text
VARCHAR max length is limited (usually 65,535 bytes total row size), so very long comments may exceed it.
Step 2: Evaluate TEXT type for large variable text
TEXT stores large text efficiently without fixed length and supports very long strings.
Final Answer:
Use TEXT because it stores large text without fixed length -> Option C
Quick Check:
Large variable text = TEXT type [OK]
Hint: Use TEXT for very long text, VARCHAR for shorter variable text [OK]
Common Mistakes:
Choosing fixed-length CHAR wastes space
Using VARCHAR too large causes errors
Assuming VARCHAR can store unlimited text
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.