Python MySQL Where

Filtre kullanarak seçim yapın

Tablodan kayıtları seçerken, "WHERE" ifadesi kullanılarak seçimi filtreleyebilirsiniz:

Örnek

"Park Lane 38" olarak adlandırılan kayıtları seçin, sonuçlar:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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)

Uygulama Çalıştır

Joker karakter

Verilen harf veya ifadenin başlangıcı, içeriği veya sonunu içeren kayıtları seçebilirsiniz.

Aşağıdaki joker karakteri kullanın: % Joker karakter:

Örnek

Adres içinde "way" kelimesini içeren kayıtları seçin:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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)

Uygulama Çalıştır

SQL Girişi Saldırısını Önleme

Kullanıcılar sorgu değerleri sağladığında, bu değerleri escape etmelisiniz.

Bu, SQL girişi saldırısını önlemek içindir, bu genellikle ağ korsanları tarafından kullanılır ve veritabanınızı bozabilir veya kötüye kullanabilir.

mysql.connector modülü sorgu değerlerini escape etmek için yöntemler sağlar:

Örnek

Sorgu değerlerini escape etmek için %s yöntemini kullanın:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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)

Uygulama Çalıştır