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

จะลบอักขระพิเศษออกจากฟิลด์ฐานข้อมูลใน MySQL ได้อย่างไร


คุณสามารถลบอักขระพิเศษออกจากฟิลด์ฐานข้อมูลโดยใช้ฟังก์ชัน REPLACE() อักขระพิเศษคือเครื่องหมายคำพูดคู่ (“ “), เครื่องหมายตัวเลข (#), เครื่องหมายดอลลาร์($), เปอร์เซ็นต์ (%) เป็นต้น

ไวยากรณ์มีดังต่อไปนี้เพื่อลบอักขระพิเศษออกจากฟิลด์ฐานข้อมูล

อัปเดต yourTableNameSET yourColumnName=REPLACE(yourColumnName,'yourSpecialCharacters','');

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

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

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

mysql> แทรกลงในค่า RemoveSpecialCharacterDemo(Name)('$John');Query OK, 1 แถวได้รับผลกระทบ (0.29 วินาที)mysql> แทรกลงในค่า RemoveSpecialCharacterDemo(Name)('$Carol');Query OK, 1 แถว ได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า RemoveSpecialCharacterDemo (ชื่อ) ('$Mike'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า RemoveSpecialCharacterDemo (ชื่อ) ('$Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า RemoveSpecialCharacterDemo (ชื่อ) ('$Dav$id$'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า RemoveSpecialCharacterDemo (ชื่อ) ('Robert$' ); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.30 วินาที) mysql> แทรกลงในค่า RemoveSpecialCharacterDemo (ชื่อ) ('J$ames$'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า RemoveSpecialCharacterDemo (ชื่อ) ( 'Max$well$');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.27 วินาที)

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

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

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

<ก่อนหน้า>+----+-----------+| รหัส | ชื่อ |+----+-----------+| 1 | $จอห์น || 2 | $แครอล || 3 | $ไมค์ | | 4 | $แซม || 5 | $Dav$id$ || 6 | โรเบิร์ต$ || 7 | J$ames$ || 8 | Max$well$ |+----+-----------+8 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อลบอักขระพิเศษออกจากฟิลด์ฐานข้อมูลโดยใช้ REPLACE():

mysql> อัปเดต RemoveSpecialCharacterDemo -> set Name=replace(Name,'$','');Query OK, 8 แถวได้รับผลกระทบ (0.22 วินาที)แถวที่ตรงกัน:8 เปลี่ยน:8 คำเตือน:0

ตรวจสอบบันทึกตารางอีกครั้ง แบบสอบถามเพื่อแสดงระเบียนทั้งหมดมีดังนี้:

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

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

<ก่อนหน้า>+----+---------+| รหัส | ชื่อ |+----+---------+| 1 | จอห์น || 2 | แครอล || 3 | ไมค์ || 4 | แซม || 5 | เดวิด || 6 | โรเบิร์ต || 7 | เจมส์ || 8 | Maxwell |+----+---------+8 แถวในชุด (0.00 วินาที)

ดูผลลัพธ์ตัวอย่าง อักขระพิเศษ $ ถูกลบออกจากตารางอย่างสมบูรณ์