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

แทนที่เฉพาะค่าเฉพาะจากคอลัมน์ใน MySQL


หากต้องการแทนที่ ให้ใช้ฟังก์ชัน REPLACE() MySQL เนื่องจากคุณจำเป็นต้องอัปเดตตารางสำหรับสิ่งนี้ ให้ใช้ฟังก์ชัน UPDATE() กับคำสั่ง SET

ต่อไปนี้เป็นไวยากรณ์ -

อัปเดต yourTableName ตั้งค่า yourColumnName=replace(yourColumnName,yourOldValue,yourNewValue);

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

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

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

mysql> แทรกลงในค่า DemoTable ('John', 'AUS'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable ('Bob', 'AUS'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable ('Chris', 'US'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.16 วินาที) mysql> แทรกลงในค่า DemoTable ('David', 'UK'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.43 วินาที)mysql> แทรกลงในค่า DemoTable ('Adam','US'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที)

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

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

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

<ก่อนหน้า>+-----------+-------------+| ชื่อจริง | ชื่อประเทศ |+-----------+-------------+| จอห์น | AUS || บ๊อบ | AUS || คริส | สหรัฐอเมริกา || เดวิด | สหราชอาณาจักร || อดัม | สหรัฐอเมริกา |+-----------+-------------+5 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแทนที่ค่าเฉพาะ -

mysql> อัปเดตชุด DemoTable CountryName=replace(CountryName,'AUS','US');แบบสอบถามตกลง ได้รับผลกระทบ 2 แถว (0.17 วินาที) แถวที่ตรงกัน:5 เปลี่ยนแล้ว:2 คำเตือน:0

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

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

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

<ก่อนหน้า>+-----------+-------------+| ชื่อจริง | ชื่อประเทศ |+-----------+-------------+| จอห์น | สหรัฐอเมริกา || บ๊อบ | สหรัฐอเมริกา || คริส | สหรัฐอเมริกา || เดวิด | สหราชอาณาจักร || อดัม | สหรัฐอเมริกา |+-----------+-------------+5 แถวในชุด (0.00 วินาที)