Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để tìm và thay thế chuỗi trong cơ sở dữ liệu MySQL chỉ cho một chuỗi cụ thể?

Sử dụng hàm Replace () để thay thế chuỗi trong Cơ sở dữ liệu MySQL.

Cú pháp như sau

UPDATE yourTableName
SET yourColumnName=replace(yourColumnName,'yourExistingValue','yourNewValue')
WHERE <yourCondition>>;

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau

mysql> create table findAndReplaceDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> StudentFirstName varchar(20)
   -> );
Query OK, 0 rows affected (0.49 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn.

Truy vấn như sau

mysql> insert into findAndReplaceDemo(StudentFirstName) values('Carol');
Query OK, 1 row affected (0.15 sec)
mysql> insert into findAndReplaceDemo(StudentFirstName) values('David');
Query OK, 1 row affected (0.15 sec)
mysql> insert into findAndReplaceDemo(StudentFirstName) values('Bob');
Query OK, 1 row affected (0.10 sec)
mysql> insert into findAndReplaceDemo(StudentFirstName) values('Sam');
Query OK, 1 row affected (0.11 sec)
mysql> insert into findAndReplaceDemo(StudentFirstName) values('Mike');
Query OK, 1 row affected (0.13 sec)
mysql> insert into findAndReplaceDemo(StudentFirstName) values('Maxwell');
Query OK, 1 row affected (0.17 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select.

Truy vấn như sau

mysql> select *from findAndReplaceDemo;

Sau đây là kết quả

+----+------------------+
| Id | StudentFirstName |
+----+------------------+
| 1  | Carol            |
| 2  | David            |
| 3  | Bob              |
| 4  | Sam              |
| 5  | Mike             |
| 6  | Maxwell          |
+----+------------------+
6 rows in set (0.00 sec)

Đây là truy vấn để tìm và thay thế chuỗi trong cơ sở dữ liệu MySQL chỉ cho một chuỗi cụ thể

mysql> update findAndReplaceDemo
   -> set StudentFirstName=replace(StudentFirstName,'Maxwell','Chris')
   -> where StudentFirstName='Maxwell';
Query OK, 1 row affected (0.16 sec)
Rows matched: 1 Changed: 1 Warnings: 0

Hãy để chúng tôi kiểm tra các bản ghi bảng một lần nữa, giá trị 'Maxwell' đã được thay đổi thành "Chris.

Truy vấn như sau

mysql> select *from findAndReplaceDemo;

Sau đây là đầu ra với giá trị được cập nhật

+----+------------------+
| Id | StudentFirstName |
+----+------------------+
| 1  | Carol            |
| 2  | David            |
| 3  | Bob              |
| 4  | Sam              |
| 5  | Mike             |
| 6  | Chris            |
+----+------------------+
6 rows in set (0.00 sec)