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

แบบสอบถามฐานข้อมูล MySQL เพื่อดึงบันทึกจากค่าที่คั่นด้วยเครื่องหมายจุลภาคบนพื้นฐานของค่าเฉพาะ


สำหรับสิ่งนี้ คุณสามารถใช้ REGEXP ใน MySQL สมมติว่าคุณต้องการระเบียนแถวซึ่งค่าที่คั่นด้วยเครื่องหมายจุลภาคคือ 90 สำหรับสิ่งนี้ ให้ใช้นิพจน์ทั่วไป

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

mysql> สร้างตาราง DemoTable1447 -> ( -> ค่า varchar(100) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.58 วินาที)

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

mysql> แทรกลงในค่า DemoTable1447 ('19,58,90,56'); เคียวรีตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า DemoTable1447 ('56,89,99,100'); เคียวรีตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า DemoTable1447 ('75,76,65,90'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable1447 ('101,54,57,59 ');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)

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

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

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

<ก่อนหน้า>+-------------+| ความคุ้มค่า |+-------------+| 19,58,90,56 || 56,89,99,100 || 75,76,65,90 || 101,54,57,59 |+--------------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อดึงบันทึกจากค่าที่คั่นด้วยเครื่องหมายจุลภาคตามค่าเฉพาะเช่น 90 ที่นี่ -

mysql> เลือก * จาก DemoTable1447 โดยที่ Value regexp '(^|,)90($|,)';

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

<ก่อนหน้า>+-------------+| ความคุ้มค่า |+-------------+| 19,58,90,56 || 75,76,65,90 |+-------------+2 แถวในชุด (0.00 วินาที)