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

ค้นหาข้อมูลใน MySQL ด้วย LIKE และ REGEXP

บทความนี้เปรียบเทียบการใช้ LIKE และ REGEXP ในการค้นหาข้อมูลเฉพาะค่าใน MySQL ทั้งสองวิธีให้ผลลัพธ์เหมือนกันสำหรับการค้นหาค่าที่ตรงกันพอดี (Exact Match)

สร้างตารางและข้อมูลทดสอบ

mysql> CREATE TABLE DemoTable651 (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Value VARCHAR(100)
);
Query OK, 0 rows affected (0.59 sec)

mysql> INSERT INTO DemoTable651(Value) VALUES('Title');
mysql> INSERT INTO DemoTable651(Value) VALUES('course');
mysql> INSERT INTO DemoTable651(Value) VALUES('subject');

ค้นหาด้วย LIKE

mysql> SELECT * FROM DemoTable651 WHERE Value LIKE 'course';
+----+--------+
| Id | Value  |
+----+--------+
| 2  | course |
+----+--------+

ค้นหาด้วย REGEXP

mysql> SELECT * FROM DemoTable651 WHERE Value REGEXP 'course';
+----+--------+
| Id | Value  |
+----+--------+
| 2  | course |
+----+--------+

ความแตกต่าง:

  • LIKE - ใช้สำหรับ Pattern Matching แบบง่าย (Wildcard: %, _)
  • REGEXP - ใช้ Regular Expression อันทรงพลังกว่า รองรับ Pattern ซับซ้อน
  • สำหรับค้นหาค่าตรงกันพอดี ทั้งสองให้ผลเหมือนกัน