1) Как безопаснее и правильней писать имя таблицы и базы с кавычками или без кавычек . Если с кавычками то с двойными или одинарными.
В MySQL используется три разных типа кавычек.
1. Прямая кавычка
'
Используется для обрамления литералов, требующих такого обрамления, а именно: строковые, даты-времени, JSON, компоненты имени учётной записи и пр. Подробнее см.
Literal Values и
Specifying Account Names
2. Обратная кавычка
`
Используется для обрамления имён объектов (БД, таблиц, полей, имён функций/процедур и пр.).
Если имя объекта не содержит нелегитимных символов (подробнее см.
Schema Object Names), не является служебным или зарезервированным словом (см.
Keywords and Reserved Words), использование обратной кавычки опционально, иначе обязательно.
3. Двойная кавычка
"
Используется для обрамления строковых компонентов (имя, значение) для типа данных JSON (внутри строкового литерала с JSON-значением, ограниченного одинарными кавычками). Допускается использование вместо одинарной кавычки для обрамления литералов.
При включённом ANSI_QUOTES в
SQL Mode указанные использования отменяются, и двойная кавычка используется для обрамления имён объектов (т.е. дублирует использование обратной кавычки).
ИТОГО с точки зрения безопасности:
- имена объектов ВСЕГДА обрамлять ТОЛЬКО обратной кавычкой
- литералы, требующие обрамления - обрамлять ТОЛЬКО одинарной кавычкой
- двойную кавычку использовать ТОЛЬКО как символ в составе литерала (строкового, JSON)