Вот оператор SQL, сгенерированный для меня phpMyAdmin:
SELECT * FROM `table_name` WHERE 1
Вы можете видеть, что table_name окружен `символами.
table_name
Почему?
Используется для включения идентификаторов в MySQL.
Это позволяет им иметь символы, которые могут быть неоднозначными или иным образом недопустимыми в обычном SQL, например пробел:
`foo bar` - is a valid MySQL identifier foo bar - is not, since foo is the identifier, and bar is ambiguous
Используется для выхода / включения символов, в случае пробела или другого недопустимого символа в имени таблицы или поля.
Из документов:
Если идентификатор содержит специальные символы или является зарезервированным слово, вы должны цитировать его всякий раз, когда вы обратитесь к нему. Набор буквенно-цифровой персонажи из текущего персонажа set, «_» и «$» не являются специальными. Зарезервированные слова перечислены в разделе 8.3, «Зарезервированные слова».
http://dev.mysql.com/doc/refman/5.0/en/identifiers.html