📖
MySQL 테이블의 컬럼 값이 비교 삭제 변경 하는 쿼리문 & PHP 코드에서 직접 치환 처리
페이지 정보
본문
🔎 삭제 전에 확인하고 싶다면?[code]SELECT * FROM 테이블
WHERE 레코드 = '0';[/code]
✅삭제 쿼리 (레코드 값이 2인 행만 모두 삭제)
1. phpMyAdmin 또는 MySQL CLI에서 직접 실행[code]DELETE FROM 테이블
WHERE 레코드 = '0';[/code]✅ 문자열 '0'로 저장되어 있는 경우에도 이 쿼리로 동작합니다. (MySQL은 숫자/문자 자동 형 변환이 유연합니다)
2. PHP에서 바로 실행[code]sql_query("DELETE FROM 테이블 WHERE 레코드 = '2'");[/code]숫자라면 '2'든 2든 동작에는 문제 없습니다.
3. 삭제 전 확인용 SELECT[code]SELECT * FROM 테이블 WHERE 레코드 = 2;[/code]
⚠️ 주의사항
백업 필수: 실수로 다른 데이터 날리면 복구 어려워요. 꼭 백업 후 실행!
레코드 가 INT 형이라면 '0' 대신 0 써도 됩니다.
phpMyAdmin에서는 쿼리를 SQL 탭에서 실행하면 됩니다.
레코드 = '0' 인 값을 '미분류' 또는 'etc' 같은 다른 카테고리로 바꾸고 싶다면 아래처럼 하면 됩니다.
✅ 예시 1: '0' ➡️ '미분류'로 변경[code]UPDATE 테이블
SET 레코드 = '미분류'
WHERE 레코드 = '0';[/code]
✅ 예시 2: '0' ➡️ 'etc'로 변경[code]UPDATE 테이블
SET 레코드 = 'etc'
WHERE 레코드 = '0';[/code]
🔍 내용 중 특정 단어만 바꾸고 싶을 때, 예를 들어 "지우개"라는 단어를 "무지개"로 바꾸려면, UPDATE + REPLACE() 함수를 쓰면 됩니다.
✅ 예시: content 컬럼에서 "지우개" → "무지개"[code]UPDATE 테이블
SET content = REPLACE(content, '지우개', '무지개')
WHERE content LIKE '%지우개%';[/code]
설명:
REPLACE(content, '지우개', '무지개')
→ content 안에 있는 "지우개"라는 글자를 "무지개"로 바꿉니다.
WHERE content LIKE '%지우개%'
→ "지우개"가 포함된 레코드만 바꾸기 때문에 불필요한 UPDATE 방지에 도움이 됩니다.
🛟 실행 전 확인하기 (안전하게 먼저 보기)[code]SELECT uid, content, REPLACE(content, '지우개', '무지개') AS changed
FROM 테이블
WHERE content LIKE '%지우개%';[/code]이렇게 하면 실제 어떤 내용이 바뀌는지 쭉 볼 수 있어서 안심하고 업데이트할 수 있어요.
✅ "지우개" → "무지개" (subject 컬럼에서)[code]UPDATE 테이블
SET subject = REPLACE(subject, '지우개', '무지개')
WHERE subject LIKE '%지우개%';[/code]
💡 추가 팁
대소문자 구분은 기본적으로 하지 않습니다 (MySQL 기본 설정에서는).
여러 단어를 한 번에 바꾸고 싶다면 REPLACE()를 중첩하면 돼요:[code]UPDATE 테이블
SET subject = REPLACE(REPLACE(subject, '지우개', '무지개'), '연필', '형광펜')
WHERE subject LIKE '%지우개%' OR subject LIKE '%연필%';[/code]
✅ 예시: 4개 단어 치환[code]UPDATE 테이블
SET subject = REPLACE(
REPLACE(
REPLACE(
REPLACE(subject, '지우개', '무지개'),
'연필', '형광펜'),
'공책', '노트'),
'가방', '백팩')
WHERE subject LIKE '%지우개%' OR subject LIKE '%연필%' OR subject LIKE '%공책%' OR subject LIKE '%가방%';[/code]subject 컬럼 안의 특정 단어만 바꿉니다.
다른 컬럼도 바꾸고 싶으면 SET subject = ..., content = ... 같이 여러 컬럼 지정도 가능해요.
WHERE 조건을 꼭 포함해서 필요한 레코드만 업데이트하도록 하세요!
✅ 1. PHP 코드에서 직접 치환 처리 (입력 시 또는 출력 시)
📥 1-1. 입력 시 (글쓰기/수정 시 자동 치환)
write_update.php 또는 write_update.head.skin.php 같은 파일을 수정해서, 입력되는 내용을 가공할 수 있습니다.[code]// 글 등록 전 또는 저장 직전에 추가
$_POST['wr_subject'] = str_replace('지우개', '무지개', $_POST['wr_subject']);
$_POST['wr_content'] = str_replace('지우개', '무지개', $_POST['wr_content']);[/code]
이렇게 하면 "지우개"를 입력해도 저장될 때 "무지개"로 바뀝니다.
📤 1-2. 출력 시 (게시글 보여줄 때만 치환)
스킨 파일 중 view.skin.php 또는 latest.skin.php 같은 곳에서 아래처럼 처리합니다:[code]$view['wr_subject'] = str_replace('지우개', '무지개', $view['wr_subject']);
$view['wr_content'] = str_replace('지우개', '무지개', $view['wr_content']);[/code]이렇게 하면 DB에는 원본이 그대로 남아있고, 보여질 때만 바뀝니다.
✅ 2. 그누보드 자동 필터링 (단어 필터 기능)
그누보드에는 기본적으로 **"단어 필터링 기능"**이 존재합니다. 하지만 이건 차단/별표처리용이라 치환에는 사용하기 어렵습니다.
다만 커스터마이징하면 가능합니다.
✅ 3. 함수로 만들어서 재사용 가능하게[code]function custom_replace_text($text) {
$replace_pairs = array(
'지우개' => '무지개',
'연필' => '형광펜',
'고무줄' => '스프링'
);
return strtr($text, $replace_pairs);
}
// 사용 예시
$view['wr_subject'] = custom_replace_text($view['wr_subject']);
$view['wr_content'] = custom_replace_text($view['wr_content']);[/code]이렇게 하면 나중에 치환어가 많아져도 편하게 관리할 수 있어요.
WHERE 레코드 = '0';[/code]
✅삭제 쿼리 (레코드 값이 2인 행만 모두 삭제)
1. phpMyAdmin 또는 MySQL CLI에서 직접 실행[code]DELETE FROM 테이블
WHERE 레코드 = '0';[/code]✅ 문자열 '0'로 저장되어 있는 경우에도 이 쿼리로 동작합니다. (MySQL은 숫자/문자 자동 형 변환이 유연합니다)
2. PHP에서 바로 실행[code]sql_query("DELETE FROM 테이블 WHERE 레코드 = '2'");[/code]숫자라면 '2'든 2든 동작에는 문제 없습니다.
3. 삭제 전 확인용 SELECT[code]SELECT * FROM 테이블 WHERE 레코드 = 2;[/code]
⚠️ 주의사항
백업 필수: 실수로 다른 데이터 날리면 복구 어려워요. 꼭 백업 후 실행!
레코드 가 INT 형이라면 '0' 대신 0 써도 됩니다.
phpMyAdmin에서는 쿼리를 SQL 탭에서 실행하면 됩니다.
레코드 = '0' 인 값을 '미분류' 또는 'etc' 같은 다른 카테고리로 바꾸고 싶다면 아래처럼 하면 됩니다.
✅ 예시 1: '0' ➡️ '미분류'로 변경[code]UPDATE 테이블
SET 레코드 = '미분류'
WHERE 레코드 = '0';[/code]
✅ 예시 2: '0' ➡️ 'etc'로 변경[code]UPDATE 테이블
SET 레코드 = 'etc'
WHERE 레코드 = '0';[/code]
🔍 내용 중 특정 단어만 바꾸고 싶을 때, 예를 들어 "지우개"라는 단어를 "무지개"로 바꾸려면, UPDATE + REPLACE() 함수를 쓰면 됩니다.
✅ 예시: content 컬럼에서 "지우개" → "무지개"[code]UPDATE 테이블
SET content = REPLACE(content, '지우개', '무지개')
WHERE content LIKE '%지우개%';[/code]
설명:
REPLACE(content, '지우개', '무지개')
→ content 안에 있는 "지우개"라는 글자를 "무지개"로 바꿉니다.
WHERE content LIKE '%지우개%'
→ "지우개"가 포함된 레코드만 바꾸기 때문에 불필요한 UPDATE 방지에 도움이 됩니다.
🛟 실행 전 확인하기 (안전하게 먼저 보기)[code]SELECT uid, content, REPLACE(content, '지우개', '무지개') AS changed
FROM 테이블
WHERE content LIKE '%지우개%';[/code]이렇게 하면 실제 어떤 내용이 바뀌는지 쭉 볼 수 있어서 안심하고 업데이트할 수 있어요.
✅ "지우개" → "무지개" (subject 컬럼에서)[code]UPDATE 테이블
SET subject = REPLACE(subject, '지우개', '무지개')
WHERE subject LIKE '%지우개%';[/code]
💡 추가 팁
대소문자 구분은 기본적으로 하지 않습니다 (MySQL 기본 설정에서는).
여러 단어를 한 번에 바꾸고 싶다면 REPLACE()를 중첩하면 돼요:[code]UPDATE 테이블
SET subject = REPLACE(REPLACE(subject, '지우개', '무지개'), '연필', '형광펜')
WHERE subject LIKE '%지우개%' OR subject LIKE '%연필%';[/code]
✅ 예시: 4개 단어 치환[code]UPDATE 테이블
SET subject = REPLACE(
REPLACE(
REPLACE(
REPLACE(subject, '지우개', '무지개'),
'연필', '형광펜'),
'공책', '노트'),
'가방', '백팩')
WHERE subject LIKE '%지우개%' OR subject LIKE '%연필%' OR subject LIKE '%공책%' OR subject LIKE '%가방%';[/code]subject 컬럼 안의 특정 단어만 바꿉니다.
다른 컬럼도 바꾸고 싶으면 SET subject = ..., content = ... 같이 여러 컬럼 지정도 가능해요.
WHERE 조건을 꼭 포함해서 필요한 레코드만 업데이트하도록 하세요!
✅ 1. PHP 코드에서 직접 치환 처리 (입력 시 또는 출력 시)
📥 1-1. 입력 시 (글쓰기/수정 시 자동 치환)
write_update.php 또는 write_update.head.skin.php 같은 파일을 수정해서, 입력되는 내용을 가공할 수 있습니다.[code]// 글 등록 전 또는 저장 직전에 추가
$_POST['wr_subject'] = str_replace('지우개', '무지개', $_POST['wr_subject']);
$_POST['wr_content'] = str_replace('지우개', '무지개', $_POST['wr_content']);[/code]
이렇게 하면 "지우개"를 입력해도 저장될 때 "무지개"로 바뀝니다.
📤 1-2. 출력 시 (게시글 보여줄 때만 치환)
스킨 파일 중 view.skin.php 또는 latest.skin.php 같은 곳에서 아래처럼 처리합니다:[code]$view['wr_subject'] = str_replace('지우개', '무지개', $view['wr_subject']);
$view['wr_content'] = str_replace('지우개', '무지개', $view['wr_content']);[/code]이렇게 하면 DB에는 원본이 그대로 남아있고, 보여질 때만 바뀝니다.
✅ 2. 그누보드 자동 필터링 (단어 필터 기능)
그누보드에는 기본적으로 **"단어 필터링 기능"**이 존재합니다. 하지만 이건 차단/별표처리용이라 치환에는 사용하기 어렵습니다.
다만 커스터마이징하면 가능합니다.
✅ 3. 함수로 만들어서 재사용 가능하게[code]function custom_replace_text($text) {
$replace_pairs = array(
'지우개' => '무지개',
'연필' => '형광펜',
'고무줄' => '스프링'
);
return strtr($text, $replace_pairs);
}
// 사용 예시
$view['wr_subject'] = custom_replace_text($view['wr_subject']);
$view['wr_content'] = custom_replace_text($view['wr_content']);[/code]이렇게 하면 나중에 치환어가 많아져도 편하게 관리할 수 있어요.
댓글목록
등록된 댓글이 없습니다.
![]() ![]() |