On first glance, it looks like TEXT and VARCHAR can store the same information. However, there are fundamental differences between the way TEXT fields and VARCHAR fields work, which are important to take into consideration.
Standard
VARCHAR is actually part of the ISO SQL:2003 standard; The TEXT
data types, including TINYTEXT, are non-standard.
Storage
TEXT data types are stored as separate objects from the tables
and result sets that contain them. This storage is transparent —
there is no difference in how a query involving a TEXT field is
written versus one involving a VARCHAR field. Since TEXT is not
stored as part of a row, retrieval of TEXT fields requires extra
[edited 1/22] memory overhead.
Maximum VARCHAR length
The maximum row length of a VARCHAR is restricted by the maximum
row length of a table. This is 65,535 bytes …