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

MySQL RegExp เพื่อดึงบันทึกด้วยจำนวนคำที่ระบุเท่านั้น


สำหรับสิ่งนี้ ให้ใช้ Regular Expression ใน MySQL เช่นเดียวกับไวยากรณ์ด้านล่าง –

เลือก * จาก yourTableName โดยที่ yourColumnName regexp '\land[\land ]+[ ]+[\land ]+$';

แบบสอบถามด้านบนจะทำงานเมื่อทั้งสองคำถูกคั่นด้วยช่องว่าง ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1412 -> ( -> ชื่อ varchar(40) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.52 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable1412 ('John Adam Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงในค่า DemoTable1412 ('Mike Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable1412 ('Chris James Robert'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก * จาก DemoTable1412;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+--------------------+| ชื่อ |+--------------------+| จอห์น อดัม แครอล || ไมค์ แซม || Chris James Robert |+--------------------+3 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อตรวจสอบว่าแถวใดแถวหนึ่งมีคำสองคำคั่นด้วยการเว้นวรรคหรือไม่ -

mysql> เลือก * จาก DemoTable1412 โดยที่ Name regexp '\land[\land ]+[ ]+[\land ]+$';

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----------+| ชื่อ |+----------+| Mike Sam |+----------+1 แถวในชุด (0.00 วินาที)