Нужны ли кавычки вокруг таблиц и столбцов в запросе MySQL?

У меня есть короткий вопрос о запросе mysql.

Что правильно?

SELECT * FROM Persons WHERE Year='1965' 

Или

 SELECT * FROM `Persons` WHERE `Year` = '1965' 

Это личный выбор или это что-то действительно не так?

Что делать, если у вас есть таблица с именем table или столбец с именем where . Это зарезервированные ключевые слова. Если вы использовали те, что были в ваших запросах без обратных ссылок, они создавали бы недопустимый запрос (конечно, использование зарезервированных ключевых слов – плохая практика).

 SELECT something FROM table WHERE where = 1; 

против

 SELECT something FROM `table` WHERE `where` = 1; 

Котировки необходимы, если ваши идентификаторы (столбцы, имена таблиц, операторы и т. Д.) Содержат зарезервированные слова MySQL.

См. Здесь полный список зарезервированных слов: http://dev.mysql.com/doc/refman/5.5/ru/reserved-words.html

Оба правильные, но второй будет приниматься ВСЕГДА, даже если вы используете ключевые слова или функции, такие как while и NOW() , которые обычно рассматриваются как операторы.

Оба метода верны, одинарная кавычка указывает начало и конец строки.

Поэтому, если вы, например, используете псевдоним столбца с пространством типа « Birth year тогда вам нужно будет использовать одинарный кавычек следующим образом;

 ... WHERE `Birth year` = `1965` 

Однако не рекомендуется использовать более одного слова в псевдонимах.

И как @Cody Caughlan сказал также, когда вы используете зарезервированные слова MySQL .