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

ค้นหาและแทนที่ข้อความในตารางทั้งหมดด้วย MySQL


ใช้ฟังก์ชัน REPLACE() ร่วมกับ UPDATE

สร้างตารางและเพิ่มข้อมูล:

mysql> CREATE TABLE FindAndReplaceDemo ( FirstName VARCHAR(200) ); Query OK, 0 rows affected (0.43 sec)
mysql> INSERT INTO FindAndReplaceDemo VALUES ('john'), ('smith'), ('Bob'), ('carol');

แทนที่ 'carol' ด้วย 'Taylor':

mysql> UPDATE FindAndReplaceDemo SET FirstName = REPLACE(FirstName, 'carol', 'Taylor'); Query OK, 1 row affected (0.14 sec) Rows matched: 4 Changed: 1 Warnings: 0

ผลลัพธ์:

mysql> SELECT * FROM FindAndReplaceDemo;
+-----------+
| FirstName |
+-----------+
| john      |
| smith     |
| Bob       |
| Taylor    |
+-----------+

ไวยากรณ์: UPDATE table SET column = REPLACE(column, 'old_value', 'new_value');

หมายเหตุ: REPLACE() แทนที่ทุกครั้งที่เจอในสตริง หากต้องการแทนที่เฉพาะค่าที่ตรงกันทั้งหมด ให้ใช้ WHERE column = 'old_value' ร่วมด้วย