MySQL WHERE
Filtr bilan tanlang
Jadvaldan yozuvlarni tanlashda siz “QAYER” iborasi yordamida tanlovni filtrlashingiz mumkin:
Misol
Manzil "Park Lane 38" bo‘lgan yozuv(lar)ni tanlang: natija:
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)
Misolni ishga tushirish »
Joker belgilar
Shuningdek, siz berilgan harf yoki ibora bilan boshlanadigan, o‘z ichiga olgan yoki tugaydigan yozuvlarni tanlashingiz mumkin.
Joker belgilarni ifodalash uchun % dan foydalaning:
Misol
Manzilda "yo‘l" so‘zi bo‘lgan yozuvlarni tanlang:
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)
Misolni ishga tushirish »
SQL in’ektsiyasini oldini olish
So‘rov qiymatlari foydalanuvchi tomonidan taqdim etilganda, siz qiymatlarni escape qilishingiz (ekranlashingiz) kerak.
Bu ma’lumotlar bazasini yo‘q qilish yoki noto‘g‘ri ishlatish uchun keng tarqalgan veb-xakerlik texnikasi bo‘lgan SQL in’ektsiyalarining oldini olishdir.
mysql.connector modulida so‘rov qiymatlarini escape qilish (ekranlash) usullari mavjud:
Misol
placholder %s usuli yordamida so‘rov qiymatlaridan qochish:
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)
Misolni ishga tushirish »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
