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

MySQL RegEx เพื่อค้นหาบรรทัดที่มี N เซมิโคลอน?


ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY , Title text ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.88 วินาที)

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

mysql> แทรกลงในค่า DemoTable(Title)('This is; a; MySQL;Tutorial');Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า DemoTable(Title) ('Java is; an;Object Oriented');Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า DemoTable(Title) ('MongoDB; is;a; database'); Query OK, 1 แถวได้รับผลกระทบ (0.12 วินาที)

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

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

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

<ก่อนหน้า>+----+-----------------------------+| รหัส | ชื่อเรื่อง |+----+-----------------------------+| 1 | นี่คือ; ก; MySQL;กวดวิชา || 2 | Java คือ; an;เชิงวัตถุ || 3 | MongoDB; คือ; ฐานข้อมูล |+----+-----------------------------+3 แถวในชุด (0.00 วินาที)

นี่คือ regex เพื่อค้นหาบรรทัดที่มี 3 อัฒภาค -

mysql> เลือก *จาก DemoTable โดยที่ Title REGEXP '(.*;){3}';

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

<ก่อนหน้า>+----+-----------------------------+| รหัส | ชื่อเรื่อง |+----+-----------------------------+| 1 | นี่คือ; ก; MySQL;กวดวิชา || 3 | MongoDB; คือ; ฐานข้อมูล |+----+---------------------------+2 แถวในชุด (0.00 วินาที)