`PyMySQL`을 사용하여 `LIKE` 조건문을 포함하는 `SELECT` 쿼리를 실행하는 방법을 보여드리겠습니다. `LIKE` 조건문은 특정 패턴이나 부분 문자열이 포함된 행을 찾을 때 사용됩니다. 예를 들어, 특정 키워드를 포함하는 항목을 찾기 위해 이를 사용할 수 있습니다.
pymysql로 LIKE 문 쓰기
아래 예시에서는 `good_keyword` 테이블에서 'keyword' 컬럼이 특정 패턴을 포함하는 행을 검색하는 방법을 보여줍니다.
import pymysql
# 데이터베이스 연결 정보
host = 'localhost'
user = 'your_username'
password = 'your_password'
db = 'your_database'
# 연결 설정
connection = pymysql.connect(host=host, user=user, password=password, db=db)
try:
with connection.cursor() as cursor:
# LIKE 조건을 사용하는 SQL 쿼리
# 예를 들어, 'keyword' 컬럼 값이 '직장인%' 패턴을 포함하는 행을 찾습니다.
# '%'는 모든 문자열을 대체하는 와일드카드입니다.
search_pattern = '직장인%'
sql = "SELECT * FROM good_keyword WHERE keyword LIKE %s"
# 쿼리 실행
cursor.execute(sql, (search_pattern,))
# 결과를 Python 리스트로 변환
result = cursor.fetchall()
# 결과 출력 또는 처리
for row in result:
print(row) # 각 행을 출력합니다.
finally:
# 연결 종료
connection.close()
이 코드는 `keyword` 컬럼의 값이 '직장인'으로 시작하는 모든 행을 선택합니다. 여기서 `%`는 와일드카드로, 이 위치에 어떤 문자열이 와도 상관없다는 것을 의미합니다. 예를 들어, '직장인 건강검진', '직장인 생활' 등이 검색될 수 있습니다.
주의사항:
- 실제 데이터베이스 이름, 사용자 이름, 비밀번호 등은 환경에 맞게 수정해야 합니다. - 예외 처리를 추가하여 에러가 발생했을 때 적절한 대응이 가능하도록 하세요. - 쿼리에서 와일드카드를 사용할 때는 SQL 인젝션에 주의해야 합니다. 항상 매개변수를 사용하여 사용자 입력을 안전하게 처리하세요. |