VARCHAR
VARCHAR(n) is variable-length text up to n characters (MySQL 8 utf8mb4: n is characters). name VARCHAR(50). CHAR(n) always uses n characters — rare now except fixed codes.
Don’t VARCHAR(255) everything without thought, but 255 is a common default. Too small = insert errors. TEXT is for long blobs (notes) — you cannot index TEXT the same way without a prefix.
Trap — VARCHAR for money or roll. Trap: CHAR(50) for names wasting space.
On the example next to this theory: VARCHAR: create two demo rows, then SELECT qty >= 2 ordered. Say which labels come back.
Exam tip
name VARCHAR(50) NOT NULL