คู่มือบรรทัดคำสั่ง MySQL: คำสั่งพื้นฐานสำหรับผู้เริ่มต้น (พร้อมตัวอย่าง)

目次

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 คุณจะสามารถดำเนินการกับฐานข้อมูลได้อย่างมีประสิทธิภาพและปลอดภัยต่อไป ฝึกฝนและนำสิ่งที่เรียนรู้ไปใช้จริงอย่างต่อเนื่อง เพื่อให้คุณมั่นใจในการดำเนินการฐานข้อมูลอย่างปลอดภัยและมีประสิทธิผล.