KHÔNG. Dấu gạch dưới _ hợp lệ hoàn toàn trong tên bảng, cột, database.
Ví dụ hợp lệ:
CREATE TABLE _StudentTrackerDemo (StudentId INT, StudentFirstName VARCHAR(100));
Ngược lại, dấu gạch ngang - (dash) KHÔNG hợp lệ nếu không bọc trong backtick:
CREATE TABLE Student-table (Id INT, Name VARCHAR(100)); -- ERROR 1064: You have an error in your SQL syntax near '-table'
Muốn dùng dấu gạch ngang phải bọc identifier:
CREATE TABLE `Student-table` (Id INT, Name VARCHAR(100)); -- OK
Quy tắc đặt tên MySQL:
- Chữ cái, số,
_,$(không khuyến khích) - Không bắt đầu bằng số (trừ khi bọc backtick)
- Không dùng từ khóa reserved (SELECT, TABLE...) trừ khi bọc backtick
- Độ dài tối đa 64 ký tự
Khuyến nghị: Dùng snake_case (vd: student_tracker_demo) cho nhất quán, tránh ký tự đặc biệt.