Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

คำสั่ง SHOW TABLES ใช้ LIKE หลายค่าใน MySQL

การแสดงตารางด้วยเงื่อนไข LIKE หลายค่า

คำสั่ง SHOW TABLES รองรับ LIKE เพียงค่าเดียว แต่สามารถใช้ WHERE ร่วมกับ OR เพื่อกรองหลายรูปแบบได้

รูปแบบคำสั่ง

SHOW TABLES FROM your_database_name 
WHERE Tables_in_your_database_name LIKE '%pattern1%' 
   OR Tables_in_your_database_name LIKE '%pattern2%' 
   OR Tables_in_your_database_name LIKE '%pattern3%';

ตัวอย่างการใช้งาน

ฐานข้อมูล test มีหลายตาราง ต้องการแสดงเฉพาะตารางที่ชื่อมี userrole, view_student, wholewordmatchdemo

SHOW TABLES FROM test 
WHERE Tables_in_test LIKE '%userrole%' 
   OR Tables_in_test LIKE '%view_student%' 
   OR Tables_in_test LIKE '%wholewordmatchdemo%';

ผลลัพธ์

Tables_in_test
userrole
view_student
wholewordmatchdemo

วิธีทางเลือก: ใช้ INFORMATION_SCHEMA (ยืดหยุ่นกว่า)

SELECT TABLE_NAME 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'test' 
  AND (TABLE_NAME LIKE '%userrole%' 
       OR TABLE_NAME LIKE '%view_student%' 
       OR TABLE_NAME LIKE '%wholewordmatchdemo%');

ข้อดีของ INFORMATION_SCHEMA

  • 🔍 กรองได้ละเอียดกว่า (TABLE_TYPE, ENGINE, ROWS, SIZE, COMMENT)
  • 🔗 JOIN กับ TABLES อื่นได้
  • 📊 ใช้ใน Subquery/Stored Procedure ได้ง่าย
  • 🎯 รองรับ Regular Expression (REGEXP) สำหรับ Pattern ซับซ้อน

ตัวอย่างกับ REGEXP

SELECT TABLE_NAME 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'test' 
  AND TABLE_NAME REGEXP 'userrole|view_student|wholewordmatchdemo';