StepCoding

การระบุ Database ในคำสั่ง SELECT

อ่าน [3535] หมวดหมู่: คำสั่ง SELECT เบื้องต้น

เมื่อเรากำหนดชื่อ table ภายในคำสั่ง SELECT นั้น MySQL จะตรวจสอบ database ที่เราใช้งานอยู่ว่ามี table ที่ระบุมาหรือไม่ เช่น ถ้าเราใช้งาน database Employee อยู่ เมื่อเราต้องการดึงข้อมูลจากตาราง Person ใน database Employee จะต้องใช้คำสั่งดังนี้

# ในกรณีที่เราเลือกใช้งานฐานข้อมูล Employee อยู่ (โดยใช้คำสั่ง use Employee)
SELECT * FROM Person;

แต่ในกรณีที่เราไม่ได้เลือกใช้งาน database ตัวไหนเลย ผลลัพธ์ที่ได้จากคำสั่งด้านบนนั้นจะทำให้เกิด error ดังนี้

# ในกรณีที่เราไม่ได้เลือกใช้งานฐานข้อมูลตัวไหนอยู่เลย
SELECT * FROM Person;
ERROR 1046: No Database Selected

เราสามารถแก้ปัญหาวิธีนี้ได้โดยการกำหนด database ที่มีตารางนั้น ๆ ที่เราต้องการไปด้วยดังนี้

# รูปแบบ SELECT * FROM database_name.table_name
SELECT * FROM Employee.Person;

หรือเราอาจจะทำการเลือกใช้งาน database นั้น ๆ ก็ได้ แล้วจึงสามารถใช้คำสั่งเดิมได้ ดังนี้

# เลือกใช้งานฐานข้อมูล Employee
USE Employee;

# ใช้คำสั่งเดิม โดยไม่ต้องระบุ database
SELECT * FROM Person;

ผู้สนับสนุน