There isn't a data-type to do what you are wanting to do directly. Rather you would store your "variable-sized list of strings" in another table, and use a column from your existing table to refer to that other table. This is called a join.
For example, if you have a table structured like so...
TABLE: Shelf
id : int
location : varchar(50)
books : int
And another table
TABLE: Books
bookId: int
Title: varchar(80)
Then you could find all the books at location x with the following query...
SELECT s.location, b.title FROM Shelf s
INNER JOIN Books b on s.books = b.bookId
WHERE s.location = 'x'
ORDER BY b.title;
There is a far better explanation of this at https://www.sitepoint.com/understanding-sql-joins-mysql-database/