Python MySQL Nerede
Filtreyle Seç
Bir tablodan kayıt seçerken, "WHERE" ifadesini kullanarak seçimi filtreleyebilirsiniz:
Örnek
Adresin "Park Lane 38" olduğu kayıtları seçin: sonuç:
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)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
Joker Karakterler
Belirli bir harf veya ifade ile başlayan, içeren veya biten kayıtları da seçebilirsiniz.
%
Joker karakterleri temsil etmek için kullanın :
Örnek
Adresin "yol" kelimesini içerdiği kayıtları seçin:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
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)
SQL Enjeksiyonunu Önle
Kullanıcı tarafından sorgu değerleri sağlandığında, değerlerden kaçmanız gerekir.
Bu, veritabanınızı yok etmek veya kötüye kullanmak için yaygın bir web hackleme tekniği olan SQL enjeksiyonlarını önlemek içindir.
mysql.connector modülü, sorgu değerlerinden kaçmak için yöntemlere sahiptir:
Örnek
Placholder %s
yöntemini kullanarak sorgu değerlerinden kaçın:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
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)