select * from parts where 'category' like 'at'
This doesn't make any sense - the quotes around category declare it to be a literal value rather than an attribute name.
I know there is definitely a column called "category" and a field called "at".
This is getting confusing. The term 'column' is often in place of 'attribute' (the latter is the correct way to describe the data structure within a relational database). As for 'field' - do you mean an instance of an attribute?
I think you mean your code to do this:
select * from parts where category like '%at%'
(the backticks are optional around database entities - i.e. non-literal values - unless they include spaces). Note that using te like operator without wildcards is messey so if you're looking for the values matching 'at' and not 'cat' or 'attach'....
select * from parts where category='at'