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

ค้นหาแถวที่ค่าคอลัมน์ลงท้ายด้วยสตริงย่อยเฉพาะใน MySQL?


หากต้องการค้นหาแถวและอัปเดตด้วยค่าใหม่ที่ค่าคอลัมน์ลงท้ายด้วยสตริงย่อยเฉพาะ คุณต้องใช้ตัวดำเนินการ LIKE

ไวยากรณ์มีดังนี้:

อัปเดต yourTableNameSET yourColumnName='yourValue'WHERE yourColumnName LIKE '%.yourString';

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้:

mysql> สร้างตาราง RowEndsWithSpecificString -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> FileName varchar(30), -> PRIMARY KEY(Id) -> );Query OK, 0 แถวได้รับผลกระทบ (1.50 วินาที) 

ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้:

mysql> แทรกลงในค่า RowEndsWithSpecificString(FileName) ('MergeSort.c');Query OK, 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า RowEndsWithSpecificString(FileName) ('BubbleSortIntroduction.pdf'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.25 วินาที) mysql> แทรกลงในค่า RowEndsWithSpecificString (ชื่อไฟล์) ('AllMySQLQuery.docx'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า RowEndsWithSpecificString (ชื่อไฟล์) ('JavaCollections.pdf');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า RowEndsWithSpecificString (ชื่อไฟล์) ('JavaServlet.pdf'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+-----------------------------+| รหัส | ชื่อไฟล์ |+----+---------------------------+| 1 | MergeSort.c || 2 | BubbleSortIntroduction.pdf || 3 | AllMySQLQuery.docx || 4 | JavaCollections.pdf || 5 | JavaServlet.pdf |+----+---------------------------+5 แถวในชุด (0.00 วินาที)

นี่คือคิวรีเพื่อค้นหาและอัปเดตโดยที่ค่าของคอลัมน์ลงท้ายด้วยสตริงย่อยที่ระบุ แบบสอบถามต่อไปนี้ค้นหาสตริงย่อยที่ลงท้ายด้วย '.docx' และอัปเดตด้วยสตริงย่อยใหม่ซึ่งก็คือ '.pdf' แบบสอบถามมีดังนี้:

mysql> อัปเดต RowEndsWithSpecificString -> ตั้งค่า FileName='IntroductionToCoreJava.pdf' -> โดยที่ FileName LIKE '%.docx'; Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที) แถวที่ตรงกัน:1 เปลี่ยนแล้ว:1 คำเตือน:0 

ตรวจสอบบันทึกตารางอีกครั้ง แบบสอบถามมีดังนี้:

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

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+-----------------------------+| รหัส | ชื่อไฟล์ |+----+---------------------------+| 1 | IntroductionToCoreJava.pdf || 2 | BubbleSortIntroduction.pdf || 3 | IntroductionToCoreJava.pdf || 4 | JavaCollections.pdf || 5 | JavaServlet.pdf |+----+---------------------------+5 แถวในชุด (0.00 วินาที)