1. บทนำ
1.1 ภาพรวมของ MySQL และเหตุผลที่บรรทัดคำสั่งสำคัญ
MySQL เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) แบบโอเพนซอร์สที่ได้รับการใช้งานอย่างกว้างขวาง ประโยชน์หลักของมันรวมถึงการจัดการข้อมูลที่มีประสิทธิภาพและการดำเนินการข้อมูลที่ยืดหยุ่นด้วย SQL (Structured Query Language) มันถูกใช้ในหลายแอปพลิเคชันเว็บและระบบองค์กร และคุณสมบัติที่ทรงพลังของมันสามารถใช้ได้เต็มที่ผ่านบรรทัดคำสั่งของ MySQL
1.2 จุดประสงค์ของบทความนี้
บทความนี้มุ่งเน้นที่การทำงานกับบรรทัดคำสั่งของ MySQL และอธิบายทุกอย่างตั้งแต่คำสั่งพื้นฐานจนถึงการใช้งานขั้นสูง รวมถึงการสร้างและจัดการฐานข้อมูลและการกำหนดสิทธิ์ผู้ใช้ มันออกแบบมาเป็นพิเศษเพื่อช่วยผู้เริ่มต้นและผู้ใช้ระดับกลางสร้างทักษะเชิงปฏิบัติให้มั่นใจในการใช้ MySQL
1.3 คู่มือสำหรับใคร
คู่มือนี้ตั้งเป้าหมายสำหรับผู้เริ่มต้นถึงระดับกลางที่สนใจ MySQL เหมาะสำหรับผู้ที่มีความรู้พื้นฐานเกี่ยวกับฐานข้อมูลและต้องการเริ่มจัดการข้อมูลหรือสร้างแอปพลิเคชันเว็บด้วย MySQL
2. คำสั่งพื้นฐานของ MySQL
2.1 การเชื่อมต่อและการตัดการเชื่อมต่อจากฐานข้อมูล
เพื่อเข้าถึง MySQL คุณต้องเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลก่อน คำสั่งที่ใช้บ่อยที่สุดในการเข้าสู่ระบบเซิร์ฟเวอร์ MySQL คือ mysql -u root -p เมื่อคุณรันคำสั่งนี้ ไคลเอนต์ MySQL จะเริ่มทำงานและพยายามเข้าสู่ระบบในฐานะผู้ใช้ที่ระบุ (ในกรณีนี้คือ root)
mysql -u root -p
หลังจากพิมพ์คำสั่งนี้ คุณจะถูกขอให้ใส่รหัสผ่าน หากคุณใส่รหัสผ่านที่ถูกต้อง คุณจะสามารถเข้าถึงบรรทัดคำสั่งของ MySQL ได้
เพื่อทำการตัดการเชื่อมต่อ ให้ใช้คำสั่ง exit หรือ quit
exit
คำสั่งนี้จะทำให้คุณออกจากเซิร์ฟเวอร์ MySQL และกลับไปที่พรอมต์ของระบบปฏิบัติการ
2.2 การสร้างและแสดงรายการฐานข้อมูล
เพื่อสร้างฐานข้อมูลใหม่ ใช้คำสั่ง CREATE DATABASE ตัวอย่างต่อไปนี้สร้างฐานข้อมูลชื่อ mysqldemo
CREATE DATABASE mysqldemo;
หลังจากรันคำสั่ง คุณจะเห็นข้อความ “Query OK” แสดงว่าฐานข้อมูลถูกสร้างสำเร็จแล้ว
เพื่อแสดงรายการฐานข้อมูลที่คุณได้สร้างไว้ ใช้คำสั่ง SHOW DATABASES
SHOW DATABASES;
คำสั่งนี้จะแสดงรายการฐานข้อมูลทั้งหมดที่มีอยู่ในเซิร์ฟเวอร์ในขณะนั้น
2.3 การเลือกฐานข้อมูล
หากมีหลายฐานข้อมูล คุณต้องระบุว่าต้องการทำงานกับฐานข้อมูลใด โดยใช้คำสั่ง USE คุณสามารถเลือกฐานข้อมูลที่ต้องการดำเนินการได้
USE mysqldemo;
คำสั่งนี้จะตั้งค่า mysqldemo เป็นฐานข้อมูลปัจจุบัน และคำสั่งต่อ ๆ ไปทั้งหมดจะถูกดำเนินการบนฐานข้อมูลนี้ 
3. คำสั่งพื้นฐานสำหรับตาราง
3.1 การสร้างตาราง
เพื่อเก็บข้อมูลในฐานข้อมูล คุณต้องสร้างตารางก่อน ใช้คำสั่ง CREATE TABLE เพื่อสร้างตารางใหม่ ตัวอย่างเช่น หากต้องการสร้างตารางชื่อ users ให้เขียนคำสั่งดังนี้
CREATE TABLE users (
id INT AUTO_INCREMENT,
name VARCHAR(255),
email VARCHAR(255),
PRIMARY KEY (id)
);
คำสั่งนี้กำหนดคอลัมน์สามคอลัมน์ (id, name, และ email) ในตาราง users คอลัมน์ id เป็นประเภทจำนวนเต็มพร้อมคุณสมบัติ auto‑increment (AUTO_INCREMENT) และถูกกำหนดให้เป็นคีย์หลัก (PRIMARY KEY)
3.2 การแสดงรายการตาราง
หลังจากสร้างตารางแล้ว คุณสามารถตรวจสอบรายการตารางในฐานข้อมูลได้ โดยใช้คำสั่ง SHOW TABLES คุณจะเห็นตารางทั้งหมดในฐานข้อมูลที่เลือกอยู่ในขณะนั้น
SHOW TABLES;
นอกจากนี้ หากต้องการตรวจสอบโครงสร้างของตารางเฉพาะ ให้ใช้คำสั่ง DESCRIBE คำสั่งนี้จะแสดงข้อมูลคอลัมน์และประเภทข้อมูลในตาราง
DESCRIBE users;
คำสั่งนี้จะแสดงประเภทข้อมูลและคุณลักษณะต่าง ๆ (เช่น การอนุญาตให้เป็น NULL หรือไม่, การตั้งค่าคีย์ ฯลฯ) ของแต่ละคอลัมน์ในตาราง users
3.3 การแทรกและการดูข้อมูล
เพื่อเพิ่มข้อมูลลงในตาราง ใช้คำสั่ง INSERT INTO ตัวอย่างเช่น เพื่อเพิ่มผู้ใช้ใหม่ ทำตามขั้นตอนต่อไปนี้.
INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com');
คำสั่งนี้จะเพิ่มเรคคอร์ดใหม่ลงในตาราง users และเก็บค่าที่ระบุไว้ในคอลัมน์ name และ email.
เพื่อดูข้อมูลที่ถูกแทรก, ใช้คำสั่ง SELECT. เพื่อแสดงผู้ใช้ทั้งหมด, ใช้คำสั่งต่อไปนี้.
SELECT * FROM users;
นี่จะแสดงรายการของเรคคอร์ดทั้งหมดในตาราง users.
4. การจัดการผู้ใช้และความปลอดภัย
4.1 การสร้างผู้ใช้และการกำหนดสิทธิ์
ใน MySQL การสร้างผู้ใช้ที่สามารถเข้าถึงฐานข้อมูลและมอบสิทธิ์ที่เหมาะสมให้กับพวกเขานั้นสำคัญมาก. เพื่อสร้างผู้ใช้, ใช้คำสั่ง CREATE USER. ในตัวอย่างต่อไปนี้, ผู้ใช้ใหม่ user1 ถูกสร้างสำหรับ localhost โดยตั้งรหัสผ่านเป็น password123.
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password123';
คำสั่งนี้สร้างผู้ใช้ใหม่ชื่อ user1 และผู้ใช้สามารถเชื่อมต่อได้เฉพาะจากโฮสต์ท้องถิ่นเท่านั้น.
เพื่อมอบสิทธิ์ให้กับผู้ใช้ที่สร้าง, ใช้คำสั่ง GRANT. ตัวอย่างเช่น, เพื่อมอบสิทธิ์ทั้งหมดบนฐานข้อมูล mysqldemo ให้กับ user1, ใช้คำสั่งต่อไปนี้.
GRANT ALL PRIVILEGES ON mysqldemo.* TO 'user1'@'localhost';
คำสั่งนี้มอบสิทธิ์เต็มให้กับ user1 บนทุกตารางในฐานข้อมูล mysqldemo. เพื่อให้การเปลี่ยนแปลงสิทธิ์มีผลในระบบ, ให้รันคำสั่ง FLUSH PRIVILEGES.
FLUSH PRIVILEGES;
4.2 การเปลี่ยนรหัสผ่าน
เพื่อเปลี่ยนรหัสผ่านของผู้ใช้ที่มีอยู่, ใช้คำสั่ง UPDATE เพื่ออัปเดตตาราง user ในฐานข้อมูล mysql. ตัวอย่างต่อไปนี้เปลี่ยนรหัสผ่านของผู้ใช้ root เป็นรหัสใหม่.
UPDATE mysql.user SET authentication_string = PASSWORD('newpassword') WHERE User = 'root';
FLUSH PRIVILEGES;
นี่จะเปลี่ยนรหัสผ่านของผู้ใช้ root เป็น newpassword. โดยการรัน FLUSH PRIVILEGES, การเปลี่ยนแปลงจะถูกนำไปใช้ในระบบ.
4.3 แนวปฏิบัติที่ดีที่สุดสำหรับการเสริมความปลอดภัย
เพื่อปรับปรุงความปลอดภัยของ MySQL, การปฏิบัติตามแนวปฏิบัติที่ดีที่สุดเหล่านี้เป็นสิ่งสำคัญ.
- ลบผู้ใช้ไม่ระบุตัวตนที่ไม่จำเป็น : ลบผู้ใช้ไม่ระบุตัวตนเริ่มต้นเพื่อให้เฉพาะผู้ใช้ที่ผ่านการยืนยันเท่านั้นที่สามารถเข้าถึงฐานข้อมูลได้.
- ปิดการเข้าสู่ระบบ root จากระยะไกล : เพื่อความปลอดภัยที่ดียิ่งขึ้น, ปิดการเข้าสู่ระบบของผู้ใช้
rootจากโฮสต์ระยะไกล. - ใช้รหัสผ่านที่แข็งแรง : ใช้รหัสผ่านที่ยากต่อการคาดเดาและเปลี่ยนเป็นประจำ.
โดยการดำเนินการตามมาตรการเหล่านี้, คุณสามารถปรับปรุงความปลอดภัยของฐานข้อมูลและป้องกันการเข้าถึงโดยไม่ได้รับอนุญาตที่อาจเกิดขึ้น.

5. คำสั่ง MySQL ขั้นสูง
5.1 การอัปเดตและลบข้อมูล
เพื่ออัปเดตข้อมูลในตาราง, ใช้คำสั่ง UPDATE. ตัวอย่างเช่น, หากต้องการอัปเดตคอลัมน์ name ในตาราง users, ทำตามขั้นตอนต่อไปนี้.
UPDATE users SET name = 'Jane Doe' WHERE id = 1;
คำสั่งนี้เปลี่ยนค่าของคอลัมน์ name เป็น Jane Doe สำหรับเรคคอร์ดที่ id เท่ากับ 1. ระวัง: หากละเว้นเงื่อนไข WHERE, เรคคอร์ดทั้งหมดในตารางจะถูกอัปเดต.
เพื่อทำการลบข้อมูล, ใช้คำสั่ง DELETE. ตัวอย่างเช่น, เพื่อลบเรคคอร์ดที่ id เท่ากับ 1, ใช้คำสั่งต่อไปนี้.
DELETE FROM users WHERE id = 1;
นี่จะลบเรคคอร์ดที่ id เท่ากับ 1 ออกจากตาราง users.
5.2 การสำรองและกู้คืน
เพื่อสร้างการสำรองฐานข้อมูล, ใช้คำสั่ง mysqldump. คำสั่งนี้จะส่งออกฐานข้อมูลทั้งหมดและบันทึกเป็นไฟล์ SQL. ตัวอย่างเช่น, เพื่อสำรองฐานข้อมูล mysqldemo, ใช้คำสั่งต่อไปนี้.
mysqldump -u root -p mysqldemo > mysqldemo_backup.sql
เพื่อกู้คืนฐานข้อมูล, ใช้คำสั่ง source. ตัวอย่างต่อไปนี้จะกู้คืนฐานข้อมูลจากไฟล์ mysqldemo_backup.sql.
mysql -u root -p mysqldemo < mysqldemo_backup.sql
คำสั่งนี้จะนำเข้าข้อมูลจาก mysqldemo_backup.sql ไปยังฐานข้อมูล mysqldemo.
5.3 การเริ่มและหยุดเซิร์ฟเวอร์
เพื่อเริ่มเซิร์ฟเวอร์ MySQL จากบรรทัดคำสั่ง, ใช้คำสั่ง mysqld. ตัวอย่างเช่น, ในสภาพแวดล้อม Windows, คุณสามารถรันคำสั่งต่อไปนี้.
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld"
เพื่อหยุดเซิร์ฟเวอร์ ให้ใช้คำสั่ง mysqladmin.
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqladmin" -u root -p shutdown
วิธีนี้จะหยุดเซิร์ฟเวอร์ MySQL อย่างถูกต้อง การเริ่มและหยุดจากพรอมต์คำสั่งเป็นประโยชน์อย่างยิ่งในสภาพแวดล้อมที่ไม่มีเครื่องมือ GUI.
6. การแก้ไขปัญหา
6.1 ข้อผิดพลาดทั่วไปและวิธีแก้ไข
ข้อผิดพลาดทั่วไปที่เกิดขึ้นขณะใช้ MySQL คือข้อผิดพลาด “Access denied for user” (การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้) ซึ่งเกิดขึ้นเมื่อชื่อผู้ใช้หรือรหัสผ่านที่ระบุไม่ถูกต้อง เพื่อแก้ไข ให้ตรวจสอบชื่อผู้ใช้และรหัสผ่านอีกครั้ง แล้วลองเข้าสู่ระบบใหม่ด้วยข้อมูลประจำตัวที่ถูกต้อง.
ข้อผิดพลาดอีกหนึ่งข้อคือ “Unknown database” (ฐานข้อมูลไม่รู้จัก) ปรากฏเมื่อฐานข้อมูลที่ระบุไม่มีอยู่จริง ใช้คำสั่ง SHOW DATABASES เพื่อตรวจสอบว่าฐานข้อมูลมีอยู่หรือไม่ และสร้างฐานข้อมูลนั้นหากจำเป็น.
SHOW DATABASES;
CREATE DATABASE db_name;
6.2 เคล็ดลับและข้อควรระวังสำหรับการดำเนินการฐานข้อมูล
เมื่อดำเนินการกับฐานข้อมูล คุณควรให้ความสนใจกับประเด็นต่อไปนี้.
- ทำการสำรองข้อมูล : ก่อนทำการดำเนินการใด ๆ กับฐานข้อมูล ควรสร้างการสำรองข้อมูลเสมอ การสำรองข้อมูลช่วยให้คุณสามารถกู้คืนข้อมูลได้หากเกิดการลบโดยบังเอิญ.
- ใช้ทรานแซคชัน : เมื่อดำเนินการหลายคำสั่งเป็นการทำงานเดียว ควรใช้ทรานแซคชันเพื่อรักษาความสมบูรณ์ของข้อมูล เพื่อใช้ทรานแซคชัน ให้รัน
START TRANSACTION,COMMITและROLLBACK. - ระบุเงื่อนไขอย่างแม่นยำ : เมื่อใช้คำสั่ง
UPDATEหรือDELETEการระบุเงื่อนไขในWHEREอย่างถูกต้องเป็นสิ่งสำคัญ เพื่อป้องกันการอัปเดตหรือการลบที่ไม่ตั้งใจ.
โดยคำนึงถึงข้อควรระวังเหล่านี้ คุณสามารถป้องกันปัญหา MySQL ล่วงหน้าและดำเนินการกับฐานข้อมูลได้อย่างปลอดภัย.
7. สรุป
บรรทัดคำสั่ง MySQL เป็นเครื่องมือที่ทรงพลังสำหรับการทำงานอย่างมีประสิทธิภาพตั้งแต่การจัดการฐานข้อมูลพื้นฐานจนถึงการดำเนินการขั้นสูง ในบทความนี้เราได้ครอบคลุมคำสั่ง MySQL ที่จำเป็น รวมถึงการสร้างฐานข้อมูล การทำงานกับตาราง การจัดการผู้ใช้ และการอัปเดตหรือการลบข้อมูล.
ในโลกของฐานข้อมูล ความปลอดภัยและความสมบูรณ์ของข้อมูลเป็นสิ่งสำคัญอย่างยิ่ง ดังนั้นจึงจำเป็นต้องปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด เช่น การกำหนดสิทธิ์ผู้ใช้ การจัดการรหัสผ่านอย่างเหมาะสม และการทำการสำรองข้อมูลเป็นประจำ นอกจากนี้ ความรู้ในการแก้ไขปัญหายังช่วยให้คุณตอบสนองได้อย่างรวดเร็วเมื่อเกิดปัญหา.
ด้วยการเชี่ยวชาญคำสั่ง MySQL คุณจะสามารถดำเนินการกับฐานข้อมูลได้อย่างมีประสิทธิภาพและปลอดภัยต่อไป ฝึกฝนและนำสิ่งที่เรียนรู้ไปใช้จริงอย่างต่อเนื่อง เพื่อให้คุณมั่นใจในการดำเนินการฐานข้อมูลอย่างปลอดภัยและมีประสิทธิผล.


