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

ค้นหาคำจากตาราง MySQL ที่ปรากฏในข้อความที่กำหนด

เมื่อมีตารางเก็บรายการคำ (keywords) และต้องการค้นหาว่าคำไหนปรากฏในข้อความที่กำหนด สามารถใช้ LIKE ร่วมกับ CONCAT() ในเงื่อนไข WHERE

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

สร้างตารางเก็บคำค้นหา:

mysql> create table DemoTable1316 (Value varchar(40));
mysql> insert into DemoTable1316 values('MySQL');
mysql> insert into DemoTable1316 values('Java');
mysql> insert into DemoTable1316 values('MongoDB');
mysql> insert into DemoTable1316 values('C++');

รายการคำในตาราง:

+---------+
| Value   |
+---------+
| MySQL   |
| Java    |
| MongoDB |
| C++     |
+---------+

คำสั่งค้นหาคำที่ปรากฏในข้อความ

mysql> select Value from DemoTable1316 where ('Deep Dive using Java is good for advanced knowledge, but not MySQL') like concat('%',Value,'%');

ผลลัพธ์

+-------+
| Value |
+-------+
| MySQL |
| Java  |
+-------+

คำอธิบาย: CONCAT('%', Value, '%') สร้างรูปแบบค้นหาแบบ wildcard รอบคำในตาราง แล้ว LIKE ตรวจสอบว่าข้อความต้นฉบับมีคำนั้นอยู่หรือไม่ วิธีนี้เหมาะสำหรับการค้นหา keyword หลายคำพร้อมกัน