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

MySQL의 데이터베이스 필드에서 특수 문자를 제거하는 방법은 무엇입니까?

<시간/>

REPLACE() 함수를 사용하여 데이터베이스 필드에서 특수 문자를 제거할 수 있습니다. 특수 문자는 큰따옴표(" "), 숫자 기호(#), 달러 기호($), 퍼센트(%) 등입니다.

데이터베이스 필드에서 특수 문자를 제거하는 구문은 다음과 같습니다.

업데이트 yourTableNameSET yourColumnName=REPLACE(yourColumnName,'yourSpecialCharacters','');

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.

mysql> 테이블 생성 RemoveSpecialCharacterDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> PRIMARY Key(Id) -> );쿼리 OK, 영향을 받는 행 0개(0.59초) 

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다.

mysql> Insert into RemoveSpecialCharacterDemo(Name) values('$John');Query OK, 1행 영향(0.29초)mysql> Insert into RemoveSpecialCharacterDemo(Name) values('$Carol');Query OK, 1 row 영향을 받은(0.16초)mysql> RemoveSpecialCharacterDemo(Name) values('$Mike')에 삽입; 쿼리 확인, 영향을 받는 1행(0.17초)mysql> RemoveSpecialCharacterDemo(Name) values('$Sam')에 삽입, 쿼리 확인, 1행 영향(0.14초)mysql> RemoveSpecialCharacterDemo(Name) values('$Dav$id$')에 삽입, 쿼리 확인, 1행 영향(0.17초)mysql> RemoveSpecialCharacterDemo(Name) values('Robert$' );쿼리 OK, 1행 영향(0.30초)mysql> RemoveSpecialCharacterDemo(Name) values('J$ames$')에 삽입;Query OK, 1행 영향(0.13초)mysql> RemoveSpecialCharacterDemo(Name) 값에 삽입( 'Max$well$');쿼리 OK, 영향을 받는 행 1개(0.27초)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다.

mysql> Select *from RemoveSpecialCharacterDemo;

다음은 출력입니다.

+----+-----------+| 아이디 | 이름 |+----+-----------+| 1 | $존 || 2 | $캐롤 || 3 | $마이크 | | 4 | $샘 || 5 | $Dav$id$ || 6 | 로버트$ || 7 | J$ames$ || 8 | Max$well$ |+----+-----------+8행 세트(0.00초)

REPLACE()를 사용하여 데이터베이스 필드에서 특수 문자를 제거하는 쿼리는 다음과 같습니다.

mysql> update RemoveSpecialCharacterDemo -> set Name=replace(Name,'$','');Query OK, 영향을 받는 8개 행(0.22초) 일치하는 행:8 변경됨:8 경고:0

테이블 레코드를 다시 한 번 확인하십시오. 모든 레코드를 표시하는 쿼리는 다음과 같습니다.

mysql> Select *from RemoveSpecialCharacterDemo;

다음은 출력입니다.

+----+---------+| 아이디 | 이름 |+----+---------+| 1 | 존 || 2 | 캐롤 || 3 | 마이크 || 4 | 샘 || 5 | 데이비드 || 6 | 로버트 || 7 | 제임스 || 8 | Maxwell |+----+---------+8행 세트(0.00초)

샘플 출력을 보면 특수 문자 $가 테이블에서 완전히 제거되었습니다.