ใน MySQL สามารถใช้ Underscore (_) เป็นส่วนหนึ่งของชื่อตารางหรือคอลัมน์ได้ แต่หากชื่อเต็มเป็นแค่ Underscore หรือขึ้นต้นด้วย Underscore ควรห่อด้วย แบ็กทิก (`) เพื่อความปลอดภัย
ตัวอย่างการสร้างตารางชื่อ `DemoTable_1`
mysql> create table `DemoTable_1` (
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Location varchar(100) );
Query OK, 0 rows affected (1.17 sec)
เพิ่มข้อมูล (ต้องใช้แบ็กทิกครอบชื่อตาราง)
mysql> insert into `DemoTable_1`(Location) values('C:/myFolder/JavaFiles');
Query OK, 1 row affected (0.20 sec)
mysql> insert into `DemoTable_1`(Location) values('E:/AllJarOfJava');
Query OK, 1 row affected (0.17 sec)
mysql> insert into `DemoTable_1`(Location) values('C:/ProgramFiles');
Query OK, 1 row affected (0.17 sec)
แสดงข้อมูล (ต้องใช้แบ็กทิกเหมือนกัน)
mysql> select * from `DemoTable_1`;
+----+-----------------------+ | Id | Location | +----+-----------------------+ | 1 | C:/myFolder/JavaFiles | | 2 | E:/AllJarOfJava | | 3 | C:/ProgramFiles | +----+-----------------------+ 3 rows in set (0.00 sec)
คำอธิบาย: แม้ชื่อตาราง `DemoTable_1` จะไม่ใช่คำสงวน แต่การใช้แบ็กทิกเป็นนิสัยที่ดี เพราะ:
- ป้องกันข้อผิดพลาดห้ามชื่อมีอักขระพิเศษ
- รองรับชื่อที่เป็นคำสงวนในอนาคต
- ทำให้โค้ดอ่านง่ายและชัดเจน
หมายเหตุ: Underscore (_) ในชื่อตาราง/คอลัมน์เป็นเรื่องปกติ ไม่ต้อง Escape เหมือนใน LIKE pattern