วิธีการแสดงรายการฐานข้อมูล MySQL (การสอนโค้ดทีละขั้นตอน)

เผยแพร่แล้ว: 2022-10-22

MySQL เป็นหนึ่งในระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) ที่ใช้กันอย่างแพร่หลายในปัจจุบัน เป็นแพลตฟอร์มฐานข้อมูลที่มีประสิทธิภาพซึ่งช่วยให้สามารถสร้างและจัดการฐานข้อมูลที่ปรับขนาดได้ ส่วนใหญ่ใช้ภาษาคิวรีที่มีโครงสร้าง (SQL)

เซิร์ฟเวอร์ MySQL คือสภาพแวดล้อมที่ฐานข้อมูลตั้งอยู่ — และเข้าถึงที่ใด ในฐานะผู้ดูแลระบบเซิร์ฟเวอร์ คุณมักจะต้องดึงรายละเอียดเกี่ยวกับสภาพแวดล้อมนี้ เช่น การแสดงรายการฐานข้อมูลที่อยู่บนเซิร์ฟเวอร์ แสดงตารางจากฐานข้อมูลเฉพาะ การดูบทบาทและสิทธิ์ของผู้ใช้ การเข้าถึงข้อจำกัด และอื่นๆ

บทความนี้จะอธิบายรายละเอียดเกี่ยวกับวิธีการแสดงรายการฐานข้อมูล MySQL ผ่านทางพรอมต์คำสั่ง

ข้อกำหนดเบื้องต้นในการแสดงรายการฐานข้อมูล MySQL

คุณต้องให้เซิร์ฟเวอร์ MySQL ทำงานบนเครื่องของคุณจึงจะเริ่มต้นได้ หากคุณไม่มี MySQL มีสองสามวิธีในการติดตั้ง:

  • ติดตั้ง WAMPServer, XAMPP, MAMP หรือซอฟต์แวร์อื่น ๆ ที่มี MySQL
  • ดาวน์โหลดและเรียกใช้ตัวติดตั้ง MySQL ได้โดยตรงจากเว็บไซต์อย่างเป็นทางการ ผ่านขั้นตอนการตั้งค่าเพื่อกำหนดค่าและติดตั้งเซิร์ฟเวอร์ MySQL และเครื่องมืออื่นๆ

หากต้องการเรียกใช้คำสั่ง MySQL อย่างสะดวกโดยใช้บรรทัดคำสั่ง คุณจะต้องเพิ่มพาธของไฟล์เรียกทำงาน MySQL ลงในสภาพแวดล้อมของระบบ หากคุณติดตั้ง MySQL โดยใช้ตัวเลือกที่สอง ขั้นตอนนี้ไม่จำเป็น ดังนั้นอย่าลังเลที่จะข้ามส่วนถัดไป

เพิ่มเส้นทาง MySQL ในสภาพแวดล้อมตัวแปรของระบบ

ส่วนนี้จะแนะนำคุณเกี่ยวกับการเพิ่มเส้นทางปฏิบัติการ MySQL ในสภาพแวดล้อมตัวแปรของระบบ หากคุณใช้งาน XAMPP หรือ WAMP บนคอมพิวเตอร์ Windows

ขั้นแรก เปิดตัวสำรวจไฟล์ Windows ของคุณและไปที่ พีซีเครื่อง นี้ คลิกไดรฟ์ที่คุณได้ติดตั้งแพ็คเกจ WAMP หรือ XAMPP ( C: )

หากคุณกำลังใช้งาน XAMPP ให้ไปที่ xampp > mysql > bin แล้วคัดลอกพาธแบบเต็มไปยังโฟลเดอร์ bin สำหรับ WAMP ให้ไปที่ {your-wamp-version} > bin > mysql > {your-mysql-version} > bin ไปยังเส้นทางแบบเต็ม

เส้นทางแบบเต็มในการเข้าถึง MySQL CLI
เส้นทางแบบเต็มไปยังโฟลเดอร์ถังขยะ

คลิกเมนู เริ่ม และค้นหา "เส้นทาง" คลิก แก้ไขตัวแปรสภาพแวดล้อมของระบบ

จากนั้น คลิก Environment Variables ภายใต้ Startup and Recovery เลือกตัวแปร PATH แล้วคลิก Edit

จากนั้น คลิก New แล้ววางพาธแบบเต็มไปยังไฟล์ปฏิบัติการ MySQL ของคุณ (ซึ่งคุณคัดลอกไว้ก่อนหน้านี้)

การแก้ไขตัวแปรสภาพแวดล้อม
การแก้ไขตัวแปรสภาพแวดล้อม

จากนั้น บันทึกการเปลี่ยนแปลงโดยคลิก ตกลง

เมื่อเพิ่มพาธแล้ว คุณสามารถรันคำสั่ง MySQL ในเทอร์มินัลได้

เข้าสู่ระบบ MySQL

ในการแสดงรายการฐานข้อมูล MySQL ผู้ใช้ต้องได้รับอนุญาตให้เข้าถึงฐานข้อมูลทั้งหมด หรือคุณต้องตั้งค่าสิทธิ์ SHOW DATABASES ส่วนกลางที่ให้สิทธิ์การเข้าถึงแก่ผู้ใช้ทั้งหมด

ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ MySQL ของคุณทำงานอยู่ก่อนที่จะเข้าสู่ระบบผ่านทางพรอมต์คำสั่ง:

 mysql -u -p

หมายเหตุ: แทนที่ ด้วยชื่อผู้ใช้ของคุณ ชื่อผู้ใช้เริ่มต้นสำหรับ MySQL คือ root และรหัสผ่านว่างเปล่า (ไม่มีรหัสผ่านโดยค่าเริ่มต้น)

เข้าสู่ระบบ MySQL ผ่านเทอร์มินัล
การเข้าสู่ระบบ MySQL

แสดงฐานข้อมูลภายในเซิร์ฟเวอร์ MySQL

เมื่อคุณเข้าสู่ระบบแล้ว คุณสามารถแสดงรายการฐานข้อมูล MySQL ที่มีอยู่ในเซิร์ฟเวอร์โดยดำเนินการคำสั่ง SHOW DATABASES :

 SHOW DATABASES;

ในทางกลับกัน คุณจะได้รับฐานข้อมูลทั้งหมดที่มีอยู่ในที่จัดเก็บ:

กำลังแสดงฐานข้อมูล MySQL
รายการฐานข้อมูลที่อยู่ในการจัดเก็บ

จากหกฐานข้อมูลที่ส่งคืน information_schema และ performance_schema เป็นฐานข้อมูลเริ่มต้นที่สร้างขึ้นโดยอัตโนมัติเมื่อคุณติดตั้ง MySQL

ฐาน information_schema เป็นฐานข้อมูลที่ไม่สามารถแก้ไขได้ซึ่งเก็บข้อมูลทั้งหมดที่เกี่ยวข้องกับฐานข้อมูลและวัตถุอื่นๆ (มุมมอง สิทธิ์ของผู้ใช้ ตาราง ข้อจำกัด ฯลฯ) ที่จัดเก็บไว้ในเซิร์ฟเวอร์ MySQL

การกรองผลลัพธ์ของเอาต์พุตฐานข้อมูล

ก่อนหน้านี้ คุณส่งคืนฐานข้อมูลทั้งหมดบนเซิร์ฟเวอร์ MySQL ด้วย SHOW DATABASES แต่คุณมักจะต้องกรองเอาต์พุตของฐานข้อมูล ส่วนใหญ่เมื่อมีฐานข้อมูลจำนวนมากบนเซิร์ฟเวอร์

ส่วนคำสั่ง LIKE จะกรองผลลัพธ์ของ SHOW DATABASE ตามรูปแบบที่ระบุ นี่คือไวยากรณ์ทั่วไป:

 SHOW DATABASES LIKE '';

ต้องเป็นสตริงที่แสดงรูปแบบที่คุณต้องการจับคู่ สตริงต้องลงท้ายด้วยสัญลักษณ์เปอร์เซ็นต์ % ซึ่งหมายถึงอักขระหนึ่งตัวขึ้นไป

ตัวอย่างเช่น ถ้าคุณต้องการแสดงเฉพาะฐานข้อมูลที่มีชื่อขึ้นต้นด้วยตัวอักษร w คุณทำได้โดยเรียกใช้สิ่งต่อไปนี้:

 SHOW DATABASES LIKE 'w%';

นี่คือผลการกรอง:

Filter-list-mysql-databases
การตอบสนองฐานข้อมูลที่ถูกกรองเมื่อใช้ 'w%'

การใช้สคีมาข้อมูลเพื่อสืบค้นข้อมูลเมตาของตาราง

ก่อนหน้านี้ คุณได้เห็นวิธีที่ฐาน information_schema เก็บข้อมูลทั้งหมดที่เกี่ยวข้องกับฐานข้อมูล ตาราง และอ็อบเจ็กต์อื่นๆ ในสภาพแวดล้อมเซิร์ฟเวอร์ MySQL

ฐาน information_schema ใช้ตารางสคีมาเพื่อเก็บข้อมูลเกี่ยวกับฐานข้อมูลทั้งหมด สำหรับการกรองฐานข้อมูล คุณสามารถทำการค้นหาที่ซับซ้อนเพื่อสอบถามตารางสคีมาสำหรับฐานข้อมูลเฉพาะ

ตัวอย่างเช่น ถ้าคุณต้องการฐานข้อมูลที่มีชื่อขึ้นต้นด้วย "samp" หรือ "word" คุณสามารถรวมส่วนคำสั่งอื่น ๆ เพื่อสร้างแบบสอบถามที่ซับซ้อนได้:

 SELECT schema_name FROM information_schema.schemata WHERE schema_name LIKE 'samp%' OR schema_name LIKE 'word%';

นี่คือผลลัพธ์:

การใช้ MySQL's
ผลลัพธ์ของแบบสอบถามที่ซับซ้อน

นอกจากนี้ คุณมี tables ตารางจากฐาน information_schema ซึ่งมีข้อมูลเกี่ยวกับตารางทั้งหมด ในทำนองเดียวกัน คุณสามารถดำเนินการสอบถามเพื่อดึงเฉพาะตารางที่ตรงกับรูปแบบที่ระบุเท่านั้น

ตัวอย่างเช่น เคียวรีต่อไปนี้จะส่งกลับข้อมูลสคีมาของตาราง WordPress เท่านั้น — เฉพาะตารางที่มีชื่อขึ้นต้นด้วย “wp_”:

 SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';

นี่คือผลลัพธ์:

ดิ้นรนกับการหยุดทำงานและปัญหา WordPress? Kinsta เป็นโซลูชันโฮสติ้งที่ออกแบบมาเพื่อช่วยคุณประหยัดเวลา! ตรวจสอบคุณสมบัติของเรา

แสดงรายการตารางฐานข้อมูล wp_tables MySQL
ผลลัพธ์ของข้อมูลสคีมาของตาราง WordPress เท่านั้น

ตารางอื่นๆ ที่พบใน information_schema ได้แก่ columns , constraints , table_constraints , check_constraints และ referential_constraints

ปัญหาทั่วไปและแนวทางปฏิบัติที่ดีที่สุด

สาเหตุที่พบบ่อยที่สุดอย่างหนึ่งของข้อผิดพลาดเมื่อเรียกใช้งาน SQL คือความล้มเหลวในการใช้เครื่องหมายอัฒภาคที่ส่วนท้ายของคำสั่ง

อีกวิธีหนึ่งกำลังใช้ไวยากรณ์ SQL ที่ไม่ถูกต้องหรือชื่อตาราง/คอลัมน์ที่สะกดไม่ถูกต้อง เพื่อหลีกเลี่ยงปัญหานี้ ให้ตรวจสอบข้ามชื่อตารางหรือคอลัมน์เพื่อให้แน่ใจว่าสะกดถูกต้อง อย่าลืมตรวจสอบไวยากรณ์ของคุณด้วย

ต่อไปนี้คือแนวทางปฏิบัติที่ดีที่สุดอื่นๆ ที่ควรคำนึงถึง

ใช้ตัวพิมพ์ใหญ่สำหรับคีย์เวิร์ด SQL

เมื่อเขียนโค้ด SQL ให้ใช้ตัวพิมพ์ใหญ่สำหรับคีย์เวิร์ด SQL และตัวพิมพ์เล็กสำหรับชื่อตารางและชื่อคอลัมน์เสมอ ซึ่งจะทำให้โค้ดของคุณอ่านง่ายขึ้นและมีโอกาสเกิดข้อผิดพลาดน้อยลง

ดังนั้น แทนที่จะทำเช่นนี้:

 select * from information_schema.tables where table_name like 'wp_%';

ทำเช่นนี้:

 SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';

หลีกเลี่ยงการใช้ SELECT *

หลีกเลี่ยงการใช้ SELECT * ในการสืบค้น SQL ของคุณ คำขอของคุณไม่ชัดเจนเพราะคุณไม่สามารถรู้ได้เสมอว่าจะส่งคืนอะไร ให้ระบุคอลัมน์ที่คุณต้องการเลือกจากตารางแทน

ดังนั้นแทนที่จะ:

 SELECT * EXCEPT(phone) FROM users.profile

ทำเช่นนี้:

 SELECT name, dob, address, country, address, FROM user.profile

เยื้องรหัสของคุณ

สุดท้าย อีกหนึ่งเคล็ดลับในการทำให้การค้นหาข้อผิดพลาดง่ายขึ้นคือการเยื้องโค้ดของคุณ มันทำให้อ่านง่ายขึ้น!

ผู้จัดการฐานข้อมูล

หรือคุณสามารถเลือกที่จะจัดการฐานข้อมูลของคุณโดยไม่ต้องเขียน SQL ผ่านการใช้ตัวจัดการฐานข้อมูล ซึ่งทำให้ผู้ใช้สามารถเข้าถึงฟังก์ชันการจัดการฐานข้อมูลโดยไม่จำเป็นต้องเขียนคำสั่ง SQL ซอฟต์แวร์นี้เชื่อมต่อกับเซิร์ฟเวอร์ MySQL และมีส่วนต่อประสานกับผู้ใช้เพื่อแสดงฟังก์ชันฐานข้อมูล เมื่อเชื่อมต่อแล้ว UI จะแสดงฐานข้อมูลทั้งหมดบนเซิร์ฟเวอร์ รูปลักษณ์และความรู้สึกแตกต่างกันไปตามเครื่องมือการจัดการ แต่กระบวนการก็คล้ายกัน

ตัวจัดการฐานข้อมูลของ DevKinsta
ตัวจัดการฐานข้อมูลของ DevKinsta

มีเครื่องมือมากมายให้เลือก รวมถึง phpMyAdmin และ Adminer ซึ่งทั้งสองอย่างนี้สามารถเข้าถึงได้ผ่าน DevKinsta เครื่องมือการจัดการเริ่มต้นสำหรับ DevKinsta คือ Adminer เนื่องจากมีน้ำหนักเบา ใช้งานง่าย และรวดเร็ว แต่สามารถเข้าถึง phpMyAdmin ได้อย่างง่ายดาย

สรุป

ในฐานะผู้ดูแลระบบเซิร์ฟเวอร์ คุณต้องสามารถดึงรายละเอียดเกี่ยวกับฐานข้อมูลบนเซิร์ฟเวอร์ MySQL ของคุณได้อย่างมีประสิทธิภาพและแม่นยำ ความสามารถในการดูว่าฐานข้อมูลใดอยู่บนเซิร์ฟเวอร์ ดูตารางเฉพาะและข้อมูลจากภายใน และการเข้าถึงข้อมูลเกี่ยวกับบทบาทและสิทธิ์ของผู้ใช้เป็นงานที่สำคัญทั้งหมด โชคดีที่การใช้ SQL จากบรรทัดคำสั่งของคุณทำให้ทุกอย่างเป็นเรื่องง่าย

เมื่อการจัดการฐานข้อมูลของคุณต้องขยายเกินกว่าการสืบค้นตาราง Kinsta สามารถช่วยได้ เรียนรู้เพิ่มเติมเกี่ยวกับตัวเลือกการโฮสต์ฐานข้อมูลที่ปรับขนาดได้ของเราวันนี้!