การเลือกฐานข้อมูล (USE DATABASE)
หลังจากที่เราได้เรียนรู้วิธีการสร้างฐานข้อมูลในบทที่แล้ว (CREATE DATABASE) สิ่งที่ต้องทำต่อไปคือการบอก MySQL ว่าเราต้องการใช้งานฐานข้อมูลไหน คำสั่งที่ใช้สำหรับเลือกฐานข้อมูลที่เราต้องการทำงานด้วยคือ USE DATABASE
USE database_name
คำสั่ง USE DATABASE เป็นคำสั่ง SQL ที่ใช้เพื่อระบุว่าเราต้องการทำงานกับฐานข้อมูลใดฐานข้อมูลหนึ่งบน MySQL Server รูปแบบคำสั่งนั้นง่ายมาก:
USE database_name;
โดยที่ database_name คือชื่อของฐานข้อมูลที่เราต้องการเลือกใช้งาน
ตัวอย่าง:
สมมติว่าเราได้สร้างฐานข้อมูลชื่อ mydatabase ไปแล้ว เราสามารถเลือกใช้งานฐานข้อมูลนี้ได้โดยใช้คำสั่ง:
USE mydatabase;
เมื่อเรา execute คำสั่งนี้ MySQL จะเปลี่ยนไปใช้งานฐานข้อมูล mydatabase นั่นหมายความว่าคำสั่ง SQL ใดๆ ที่เรา execute หลังจากนี้ จะถูกกระทำกับตารางและข้อมูลที่อยู่ในฐานข้อมูล mydatabase
ความสำคัญของการเลือกฐานข้อมูล
ทำไมเราต้องเลือกฐานข้อมูลก่อนที่จะทำงานกับตารางและข้อมูล? เหตุผลหลักๆ คือ:
- เพื่อระบุเป้าหมาย: MySQL Server สามารถมีฐานข้อมูลได้หลายฐานข้อมูล การเลือกฐานข้อมูลจะช่วยให้ MySQL ทราบว่าเราต้องการทำงานกับฐานข้อมูลใด
- ป้องกันข้อผิดพลาด: หากเราไม่เลือกฐานข้อมูล MySQL จะไม่ทราบว่าเราต้องการสร้างตาราง, เพิ่มข้อมูล, หรือแก้ไขข้อมูลในฐานข้อมูลใด และจะเกิดข้อผิดพลาดขึ้น
- ความเป็นระเบียบ: การเลือกฐานข้อมูลช่วยให้เราจัดการฐานข้อมูลและตารางต่างๆ ได้อย่างเป็นระเบียบมากขึ้น
ตัวอย่างสถานการณ์:
สมมติว่าเรามีสองฐานข้อมูล: customers และ products หากเราต้องการสร้างตารางสำหรับเก็บข้อมูลลูกค้า เราจะต้องเลือกฐานข้อมูล customers ก่อน:
USE customers;
CREATE TABLE customer_info (
customer_id INT,
customer_name VARCHAR(255)
);
ในทางกลับกัน หากเราต้องการสร้างตารางสำหรับเก็บข้อมูลสินค้า เราจะต้องเลือกฐานข้อมูล products ก่อน:
USE products;
CREATE TABLE product_info (
product_id INT,
product_name VARCHAR(255)
);
หากเราลืมเลือกฐานข้อมูลและพยายามสร้างตาราง MySQL จะแจ้งข้อผิดพลาด
ข้อผิดพลาดที่พบบ่อย
ถึงแม้ว่าคำสั่ง USE DATABASE จะง่าย แต่ก็มีข้อผิดพลาดที่ผู้เริ่มต้นอาจพบเจอได้:
- ลืมเลือกฐานข้อมูล: ข้อผิดพลาดที่พบบ่อยที่สุดคือการลืมเลือกฐานข้อมูลก่อนที่จะพยายามสร้างตารางหรือ execute คำสั่ง SQL อื่นๆ MySQL จะแจ้งข้อผิดพลาดคล้ายๆ กับ "No database selected" หรือ "ERROR 1046 (3D000): No database selected"
- ชื่อฐานข้อมูลไม่ถูกต้อง: หากเราพิมพ์ชื่อฐานข้อมูลผิด MySQL จะแจ้งข้อผิดพลาดว่า "Unknown database 'wrong_database_name'"
- สิทธิ์ไม่เพียงพอ: ผู้ใช้ MySQL แต่ละคนมีสิทธิ์ในการเข้าถึงฐานข้อมูลที่แตกต่างกัน หากเราพยายามเลือกฐานข้อมูลที่เราไม่มีสิทธิ์เข้าถึง MySQL จะแจ้งข้อผิดพลาดเกี่ยวกับสิทธิ์
ตัวอย่างข้อผิดพลาดและการแก้ไข:
สถานการณ์: เราลืมเลือกฐานข้อมูลและพยายามสร้างตาราง
CREATE TABLE users (
id INT,
username VARCHAR(255)
);
ข้อผิดพลาด:
ERROR 1046 (3D000): No database selected
วิธีแก้ไข: เลือกฐานข้อมูลก่อน:
USE mydatabase;
CREATE TABLE users (
id INT,
username VARCHAR(255)
);
สถานการณ์: เราพิมพ์ชื่อฐานข้อมูลผิด
USE mydatabas;
ข้อผิดพลาด:
ERROR 1049 (42000): Unknown database 'mydatabas'
วิธีแก้ไข: ตรวจสอบและแก้ไขชื่อฐานข้อมูลให้ถูกต้อง:
USE mydatabase;
สรุป
คำสั่ง USE DATABASE เป็นคำสั่งพื้นฐานแต่สำคัญมากในการจัดการฐานข้อมูล MySQL ช่วยให้เราสามารถระบุฐานข้อมูลที่เราต้องการทำงานด้วยได้อย่างถูกต้อง การเข้าใจและใช้งานคำสั่งนี้อย่างถูกต้องจะช่วยป้องกันข้อผิดพลาดและทำให้การทำงานกับฐานข้อมูลเป็นไปอย่างราบรื่น
ในบทถัดไป เราจะเรียนรู้วิธีการสร้างตารางภายในฐานข้อมูลที่เราเลือก (CREATE TABLE) ซึ่งเป็นขั้นตอนสำคัญในการจัดเก็บข้อมูลในรูปแบบที่เป็นโครงสร้าง