Bir tablodan kayıt seçerken, ‘WHERE’ ifadesini kullanarak seçimi filtreleyebilirsiniz:
Örnek: Adresin ‘Park Lane 38’ olduğu kayıtları seçin:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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 %’yi kullanın:
Örnek: Adresin ‘way‘ kelimesini içerdiği kayıtları seçin:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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: %s placholder yöntemini kullanarak sorgu değerlerinden kaçış:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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) |
[…] MySQL Where (Verileri Filtreleme) […]