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

เลือกแถวที่มีสตริงในคอลัมน์เฉพาะที่มี MATCH และ AGAINST ใน MySQL


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

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

แก้ไขตาราง −

Mysql> แก้ไขตาราง DemoTable1833 ADD FULLTEXT(Name);ตกลง สืบค้น 0 แถวได้รับผลกระทบ 1 คำเตือน (0.00 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:1

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

mysql> แทรกลงในค่า DemoTable1833 ('John Doe'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1833 ('Adam Smith'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1833 ('Chris Brown'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1833 ('John Smith'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.00 วินาที)

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

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

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

<ก่อนหน้า>+-------------+| ชื่อ |+-------------+| จอห์น โด || อดัม สมิธ || คริส บราวน์ || John Smith |+-------------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อเลือกแถวที่มีสตริงในคอลัมน์เฉพาะ

mysql> เลือก * จาก DemoTable1833 โดยที่ MATCH(Name) AGAINST('+John Smith+');

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

<ก่อนหน้า>+-----------+| ชื่อ |+-----------+| จอห์น สมิธ || จอห์น โด || Adam Smith |+------------+3 แถวในชุด (0.00 วินาที)