สำหรับสิ่งนี้ ให้ใช้ดัชนีการค้นหา FULLTEXT การค้นหาข้อความแบบเต็มจะดำเนินการโดยใช้ MATCH() ... กับไวยากรณ์
ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable1542 -> ( -> รหัส int ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก -> ชื่อ varchar(20) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (2.16 วินาที)
ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างดัชนีการค้นหาข้อความเต็ม -
mysql> สร้างดัชนี fulltext search_name บน DemoTable1542(Name);Query OK, 0 แถวได้รับผลกระทบ, 1 คำเตือน (10.51 วินาที) ระเบียน:0 รายการซ้ำ:0 คำเตือน:1
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable1542(ชื่อ) ('John Doe'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.31 วินาที)mysql> แทรกลงในค่า DemoTable1542 (ชื่อ) ('Chris Brown'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.29 วินาที) mysql> แทรกลงในค่า DemoTable1542 (ชื่อ) ('John Smith'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.46 วินาที) mysql> แทรกลงในค่า DemoTable1542 (ชื่อ) ('Adam Smith'); ตกลงแบบสอบถาม ได้รับผลกระทบ 1 แถว (4.71 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก * จาก DemoTable1542;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+----+-------------+| รหัส | ชื่อ |+----+-------------+| 1 | จอห์น โด || 2 | คริส บราวน์ || 3 | จอห์น สมิธ || 4 | Adam Smith |+----+--------------------+4 แถวในชุด (0.04 วินาที)นี่คือข้อความค้นหาที่ใช้จับคู่…กับการค้นหาข้อความแบบเต็ม -
mysql> เลือก * จาก DemoTable1542 โดยที่ Match(Name) กับ ('John' ในโหมดบูลีน);
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+----+-----------+| รหัส | ชื่อ |+----+-----------+| 1 | จอห์น โด || 3 | John Smith |+----+-----------+2 แถวในชุด (0.03 วินาที)