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

Python에서 MySQL을 사용하여 sql LIKE 연산자의 사용을 설명합니까?

<시간/>

LIKE는 MySQL의 연산자입니다. LIKE 연산자는 WHERE 문과 함께 사용하여 테이블에서 특정 패턴을 검색합니다.

테이블에서 "a"로 시작하는 값을 검색하려는 경우 LIKE 문이 이러한 시나리오에서 사용됩니다.

LIKE 절과 함께 두 개의 와일드카드 문자가 사용됩니다.

  • % - 이 기호는 0, 1 또는 여러 문자를 나타냅니다.

  • _ (밑줄) - 이것은 하나의 단일 문자를 나타냅니다.

좋아요 'a%' - 로 시작하는 모든 값을 검색합니다.

좋아요 '%a' -로 끝나는 모든 값을 검색합니다.

좋아요 '_a%' - 'a'가 두 번째 위치에 있는 모든 값을 검색합니다. _는 단일 문자를 나타내고 두 번째 문자는 'a'여야 하며 그 뒤에는 일부 문자가 있거나 없을 수 있습니다.

구문

SELECT * FROM table_name WHERE column_name LIKE pattern

python에서 MySQL을 사용하여 테이블의 일부 패턴을 기반으로 데이터 검색에 필요한 단계

  • MySQL 커넥터 가져오기

  • connect()를 사용하여 커넥터와 연결 설정

  • cursor() 메소드를 사용하여 커서 객체 생성

  • 적절한 mysql 문을 사용하여 쿼리 생성

  • execute() 메서드를 사용하여 SQL 쿼리 실행

  • 연결을 끊다

"Students"라는 이름의 다음 테이블을 가정해 보겠습니다. -

학생

+----------+-----------+
|    name  |    marks  |
+----------+-----------+
|    Rohit |    62     |
|    Rahul |    75     |
|    Inder |    99     |
|   Khushi |    49     |
|    Karan |    92     |
+----------+-----------+

'K'로 시작하는 학생들의 이름을 찾고 싶습니다.

예시

import mysql.connector
db=mysql.connector.connect(host="your host", user="your username", password="your
password",database="database_name")

cursor=db.cursor()

query="SELECT name FROM Students WHERE name LIKE 'K%' "
cursor.execute(query)
names=cursor.fetchall()
for x in names:
   print(x)

db.close()

위의 코드는 테이블에서 'K'로 시작하는 모든 이름을 가져옵니다.

출력

Karan
Khushi

마찬가지로 위의 와일드카드를 사용하여 다양한 패턴에 따라 값을 임의의 순서로 검색할 수 있습니다.