bugl
bugl
HomeLearnPatternsSearch
HomeLearnPatternsSearch

Loading lesson path

Learn/Python/Databases in Python
Python•Databases in Python

Python MySQL Where

Concept visual

Python MySQL Where

Pointer walk
two pointers
leftright102132436485116
left=0
right=6
1
3

Start at both ends

Select With a Filter

When selecting records from a table, you can filter the selection by using the "WHERE" statement:

Example

Select record(s) where the address is "Park Lane 38": result:

Formula

import mysql.connector mydb = mysql.connector.connect(

host="localhost", user=" yourusername ", password=" yourpassword ", database="mydatabase" ) mycursor = mydb.cursor()

sql = "SELECT * FROM customers WHERE address ='Park Lane
38'"
mycursor.execute(sql)

Formula

myresult = mycursor.fetchall()
for x in myresult:
print(x)

Wildcard Characters

You can also select the records that starts, includes, or ends with a given letter or phrase.

Use the

% to represent wildcard characters:

Example

Select records where the address contains the word "way":

Formula

import mysql.connector mydb = mysql.connector.connect(

host="localhost", user=" yourusername ", password=" yourpassword ", database="mydatabase" )

Formula

mycursor = mydb.cursor()
sql = "SELECT * FROM customers WHERE address
LIKE '%way%'"
mycursor.execute(sql)

Formula

myresult = mycursor.fetchall()
for x in myresult:
print(x)

Prevent SQL Injection

When query values are provided by the user, you should escape the values. This is to prevent SQL injections, which is a common web hacking technique to destroy or misuse your database. The mysql.connector module has methods to escape query values:

Example

Escape query values by using the placholder

%s method:

Formula

import mysql.connector mydb = mysql.connector.connect(

host="localhost", user=" yourusername ", password=" yourpassword ", database="mydatabase" )

Formula

mycursor = mydb.cursor()
sql = "SELECT * FROM customers WHERE
address = %s"

Formula

adr = ("Yellow Garden 2", )

mycursor.execute(sql, adr)

Formula

myresult = mycursor.fetchall()
for x in myresult:
print(x)

Previous

Python MongoDB Find

Next

Python MongoDB Query