취미와 밥줄사이

[Python] MySQL Where절 사용하기 본문

DB

[Python] MySQL Where절 사용하기

취미와 밥줄사이 2021. 10. 28. 10:17

필터를 사용한 검색


  • 테이블에 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

 

Python MySQL Where

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

 

'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