Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

Underscore ในชื่อตาราง MySQL ใช้ได้ ไม่ก่อให้เกิดปัญหา

อักขระ Underscore (_) ในชื่อตาราง MySQL

สรุป: ใช้ Underscore ได้ ไม่มีปัญหาใดๆ

ตัวอย่างที่ถูกต้อง

CREATE TABLE _StudentTrackerDemo (
    StudentId INT,
    StudentFirstName VARCHAR(100)
);

→ สร้างสำเร็จ ไม่มี Error

ข้อควรระวัง: Dash/Hyphen (-) ใช้ไม่ได้

CREATE TABLE Student-table (
    Id INT,
    Name VARCHAR(100)
);
-- ERROR 1064 (42000): You have an error in your SQL syntax...

เพราะ MySQL ตีความ - ว่าเป็น Operator ลบ ต้องใช้ Backtick หากต้องการใช้ Dash:

CREATE TABLE `Student-table` (
    Id INT,
    Name VARCHAR(100)
);

กฎการตั้งชื่อ Identifier ใน MySQL

  • อักขระที่ใช้ได้: ตัวอักษร, ตัวเลข, _ (underscore), $
  • อักขระที่ใช้ไม่ได้โดยตรง: Space, -, ., @, อักขระพิเศษอื่นๆ
  • ต้องใช้ Backtick (`) หากชื่อมีอักขระพิเศษ หรือเป็น Reserved Word
  • ความยาวสูงสุด: 64 ตัวอักษร
  • Case Sensitivity: ขึ้นกับ OS (Windows ไม่แยก, Linux แยก)

แนวทางปฏิบัติที่ดี (Best Practice)

  • ใช้ snake_case สำหรับตารางและคอลัมน์: user_accounts, order_items
  • หลีกเลี่ยง Reserved Words: order, group, select, key ฯลฯ
  • ใช้คำนามจำนวนเอกพจน์: user ไม่ใช่ users (หรือตาม Convention ของทีม)