ใช้นิพจน์ทั่วไปในคำสั่ง MySQL SELECT

ความสามารถที่ยอดเยี่ยมและทรงพลังใน MySQL และฐานข้อมูลอื่น ๆ คือความสามารถในการรวมไวยากรณ์นิพจน์ปกติเมื่อเลือกข้อมูล การสนับสนุน expresion ปกติใน MySQL นั้นกว้างขวาง สูตรนี้ตรวจสอบการใช้งานนิพจน์ปกติใน MySQL และแสดงรายการเมตาอักขระปกติที่รองรับ

ไวยากรณ์พื้นฐานที่ใช้นิพจน์ทั่วไปในแบบสอบถาม MySQL คือ:

SELECT something FROM table WHERE column REGEXP "regexp"

ตัวอย่างเช่นหากต้องการเลือกคอลัมน์ทั้งหมดจากเหตุการณ์ตารางที่ค่าในคอลัมน์ id ลงท้ายด้วย 5587 ให้ใช้:

SELECT * FROM events WHERE id REGEXP "5587$"

ตัวอย่างที่ละเอียดยิ่งขึ้นเลือกคอลัมน์ทั้งหมดของการตรวจทานตารางโดยที่ค่าในคำอธิบายคอลัมน์มีคำที่ยอดเยี่ยม:

SELECT * FROM reviews WHERE description REGEXP "[[:<:]]excellent[[:>:]]"

MySQL อนุญาต metacharacters นิพจน์ปกติต่อไปนี้:

. match any character
? match zero or one
* match zero or more
+ match one or more
{n} match n times
{m,n} match m through n times
{n,} match n or more times
^ beginning of line
$ end of line
[[:<:]] match beginning of words [[:>:]] match ending of words
[:class:] match a character class
i.e., [:alpha:] for letters
[:space:] for whitespace
[:punct:] for punctuation
[:upper:] for upper case letters
[abc] match one of enclosed chars
[^xyz] match any char not enclosed
| separates alternatives

MySQL ตีความเครื่องหมายแบ็กสแลช () เป็นอักขระ Escape ในการใช้เครื่องหมายแบ็กสแลชในนิพจน์ทั่วไปคุณต้องหลีกเลี่ยงด้วยแบ็กสแลชอื่น (\)