The right way to Filter WHERE MySQL Queries in Python


First, you’ll need the mysql.connector. In case you are not sure of find out how to get this setup, consult with The right way to Set up MySQL Driver in Python.

The right way to Choose from MySQL with a Filter in Python

You merely specify the WHERE clause in your SQL assertion as follows:

import mysql.connector

mydb = mysql.connector.join(
  host = "localhost",
  person = "username",
  password = "YoUrPaSsWoRd",
  database = "your_database"
)

mycursor = mydb.cursor()
sql = "SELECT * FROM clients WHERE tackle ='London Street'"
mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

The right way to Choose and Filter Wildcard Characters in Python

To filter wildcard characters, you mix the WHEREand LIKE key phrases, and place the % image the place the wildcards would happen.

Within the under instance, we are saying something that has the phrase highway in it someplace. Notice that this may exclude values that both begin or finish with highway.

import mysql.connector

mydb = mysql.connector.join(
  host = "localhost",
  person = "username",
  password = "YoUrPaSsWoRd",
  database = "your_database"
)

mycursor = mydb.cursor()
sql = "SELECT * FROM clients WHERE tackle LIKE '%highway%'"
mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

The right way to Stop SQL Injection in your WHERE clause

As an alternative of passing dynamic values instantly into your question, moderately cross them because the second argument to the execute command, as a set.

import mysql.connector

mydb = mysql.connector.join(
  host = "localhost",
  person = "username",
  password = "YoUrPaSsWoRd",
  database = "your_database"
)

mycursor = mydb.cursor()

sql = "SELECT * FROM clients WHERE tackle = %s"
adr = ("Maple Drive", )

mycursor.execute(sql, adr)

myresult = mycursor.fetchall()

for x in myresult:
  print(x)
See also  What to Mannequin and Why

Leave a Reply