취미와 밥줄사이
[Python] MySQL Where절 사용하기 본문
필터를 사용한 검색
- 테이블에 record를 검색할 때 필터를 WHERE문을 사용하여 필터를 사용할 수 있다.
-
# Select record(s) where the address is "Park Lane 38" import mysql.connector.connect( host="localhost", user="your username", password="your password", database="mydatabase" ) mycursor = mydb.cursor() sql = "SELECT * FROM customers WHERE address = 'Park Lane 38'" mycursor.execute(sql) myresult = mycursor.fetchall() for x in myresult: print(x)
Wildcard Characters
- 주어진 문자나 구로 시작하거나 포함하거나 끝나는 레코드를 선택할 수도 있다.
-
# Select records where the address contains the word "way" import mysql.connector.connect( host="localhost", user="your username", password="your password", database="mydatabase" ) mycursor = mydb.cursor() sql = "SELECT * FROM customers WHERE address LIKE '%way%'" mycursor.execute(sql) myresult = mycursor.fetchall() for x in myresult: print(x)
- 사용자가 쿼리 값을 제공하는 경우 값을 escape 해야한다.
- 데이터베이스를 파괴하거나 오용하는 일반적인 웹 해킹기법인 SQL Injection을 방지하기 위한 것이다.
- mysql.connector 모듈에는 쿼리 값을 escape하는 메서드가 있다.
-
# Escape query values by using the placeholder %s method: import mysql.connector mydb = mysql.connector.connect( host="localhost", user="your username", password="your password", database="mydatabase" ) mycursor = mydb.cursor() sql = "SELECT * FROM customers WHERE address = %s" adr = ("Yellow Garden 2",) mycursor.execute(sql, adr) myresult = mycursor.fetchall() for x in myresult: print(x)
REFERENCE
https://www.w3schools.com/python/python_mysql_where.asp
'DB' 카테고리의 다른 글
[Python] MySQL Delete From By (0) | 2021.10.28 |
---|---|
[Python] MySQL Order By (0) | 2021.10.28 |
[Python] MySQL Select From (0) | 2021.10.28 |
[Python] MySQL Insert Into Table (0) | 2021.10.27 |
[Python] MySQL 테이블 만들기 (0) | 2021.10.27 |