Python MySQL Where
- Önceki Sayfa MySQL Select
- Sonraki Sayfa MySQL Order By
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)
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)
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)
- Önceki Sayfa MySQL Select
- Sonraki Sayfa MySQL Order By