Không. Backtick (`) chỉ dùng cho identifier (tên bảng, tên cột, tên database), không dùng cho giá trị chuỗi (string literal).
Minh họa lỗi
mysql> CREATE TABLE DemoTable6 (SystemIPAddress VARCHAR(200));
mysql> INSERT INTO DemoTable6 VALUES('192.68.1.0'), ('191.23.41.10');
Sai: Dùng backtick cho giá trị
mysql> SELECT * FROM DemoTable6 WHERE SystemIPAddress = `191.23.41.10`;
ERROR 1054 (42S22): Unknown column '191.23.41.10' in 'where clause'
MySQL hiểu `191.23.41.10` là tên cột, không phải chuỗi.
Đúng: Dùng nháy đơn cho giá trị chuỗi
mysql> SELECT * FROM DemoTable6 WHERE SystemIPAddress = '191.23.41.10';
+-----------------+ | SystemIPAddress | +-----------------+ | 191.23.41.10 | +-----------------+
Quy tắc sử dụng Backtick
| Đối tượng | Dùng backtick? | Ví dụ |
|---|---|---|
| Tên bảng | Có (khuyên dùng) | SELECT * FROM `my-table` |
| Tên cột | Có (khuyên dùng) | SELECT `col-name` FROM t |
| Tên database | Có | USE `my-db` |
| Tên alias | Có | SELECT col AS `my alias` |
| Giá trị chuỗi | KHÔNG | WHERE col = 'value' |
| Số, ngày, NULL | KHÔNG | WHERE id = 10 |
Tại sao khuyên dùng backtick cho identifier?
- Tránh xung đột từ khóa reserved (ví dụ:
SELECT * FROM `select`) - Hỗ trợ ký tự đặc biệt, khoảng trắng trong tên (
`col name`) - Tăng tính đọc hiểu, phân biệt identifier vs string literal
ANSI SQL Standard
Chuẩn SQL dùng nháy kép (") cho identifier. MySQL hỗ trợ cả hai nếu bật ANSI_QUOTES mode.