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

แบบสอบถาม MySQL เพื่อแทนที่สตริงหลังจาก / ในคอลัมน์สุดท้ายที่มีลิงก์ไดเรกทอรี?


สำหรับสิ่งนี้ ให้ใช้เมธอด substring_index() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable -> ( -> FolderName varchar(100), -> FolderLocation varchar(200) -> );Query OK, 0 แถวได้รับผลกระทบ (1.03 วินาที)

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

mysql> แทรกลงในค่า DemoTable ('CProgram','C:/AllPrograms/.....'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า DemoTable ('Images',' E:/MyImage/home/garbage');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)

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

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

ผลลัพธ์

<ก่อนหน้า>+-----------+-------------------------+| ชื่อโฟลเดอร์ | FolderLocation |+--------------------+-------------------------+| CProgram | C:/AllPrograms/..... || รูปภาพ | E:/MyImage/home/garbage |+-----------+-----------------------------------+2 แถวในชุด (0.00 วินาที)

นี่คือการสืบค้นเพื่อแทนที่สตริงหลังจาก / ในคอลัมน์สุดท้ายที่มีลิงก์ไดเรกทอรี -

mysql> อัปเดต DemoTable SET FolderLocation =CONCAT(LEFT(FolderLocation , CHAR_LENGTH(FolderLocation ) - CHAR_LENGTH(SUBSTRING_INDEX(FolderLocation , '/', -1))),FolderName);Query OK, 2 แถวได้รับผลกระทบ (0.16 วินาที) แถวที่ตรงกัน:2 เปลี่ยนแล้ว:2 คำเตือน:0

ให้เราตรวจสอบบันทึกตารางอีกครั้ง -

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

ผลลัพธ์

<ก่อนหน้า>+-----------+-------------------------+| ชื่อโฟลเดอร์ | FolderLocation |+--------------------+-------------------------+| CProgram | C:/AllPrograms/CProgram || รูปภาพ | E:/MyImage/home/Images |+-----------+-----------------------------------+2 แถวในชุด (0.00 วินาที)