Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL을 사용하여 전체 테이블에서 텍스트 찾기 및 바꾸기?

<시간/>

텍스트는 replace() 함수를 사용하여 찾고 바꿀 수 있습니다. 다음 단계의 도움으로 설명됩니다 -

먼저, 다음과 같이 주어진 create 명령의 도움으로 테이블이 생성됩니다 -

mysql> CREATE table FindAndReplaceDemo
-> (
-> FirstName varchar(200)
-> );
Query OK, 0 rows affected (0.43 sec)

위의 테이블을 생성한 후, insert 명령어를 이용하여 레코드를 삽입합니다. 이것은 아래와 같습니다 -

mysql> INSERT into FindAndReplaceDemo values('john');
Query OK, 1 row affected (0.15 sec)

mysql> INSERT into FindAndReplaceDemo values('smith');
Query OK, 1 row affected (0.17 sec)

mysql> INSERT into FindAndReplaceDemo values('Bob');
Query OK, 1 row affected (0.12 sec)

mysql> INSERT into FindAndReplaceDemo values('carol');
Query OK, 1 row affected (0.18 sec)

모든 레코드는 다음과 같이 주어진 select 문을 사용하여 표시할 수 있습니다. -

mysql> SELECT * from FindAndReplaceDemo;

다음은 얻은 출력입니다.

+-----------+
| FirstName |
+-----------+
| john      |
| smith     |
| Bob       |
| carol     |
+-----------+
4 rows in set (0.00 sec)

이제 Replace 함수의 도움으로 Carol이라는 이름이 Taylor로 바뀝니다. 이에 대한 구문은 다음과 같습니다. -

UPDATE yourTableName SET column_name= replace(column_name, 'Old_Value', 'New_Value');

위 구문을 사용한 쿼리는 다음과 같습니다. -

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

테이블의 내용은 SELECT 문을 사용하여 다시 볼 수 있습니다. 이것은 다음과 같습니다 -

mysql> SELECT * from FindAndReplaceDemo;

다음은 얻은 출력입니다.

+-----------+
| FirstName |
+-----------+
| john      |
| smith     |
| Bob       |
| Taylor    |
+-----------+
4 rows in set (0.00 sec)

위의 출력에서 ​​알 수 있듯이 Carol은 Taylor로 대체됩니다.