First, you have to the mysql.connector
. In case you are uncertain of the way to get this setup, consult with How one can Set up MySQL Driver in Python.
How one can 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 handle ='London Street'"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
How one can Choose and Filter Wildcard Characters in Python
To filter wildcard characters
, you mix the WHERE
and LIKE
key phrases, and place the %
image the place the wildcards would happen.
Within the beneath instance, we are saying something that has the phrase highway
in it someplace. Word that this can 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 handle LIKE '%highway%'"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
How one can Stop SQL Injection in your WHERE clause
As a substitute of passing dynamic values straight into your question, slightly move 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 handle = %s"
adr = ("Maple Drive", )
mycursor.execute(sql, adr)
myresult = mycursor.fetchall()
for x in myresult:
print(x)