Python MySQL أين
حدد مع مرشح
عند تحديد السجلات من جدول ، يمكنك تصفية التحديد باستخدام عبارة "WHERE":
مثال
حدد السجل (السجلات) حيث يكون العنوان هو "Park Lane 38": النتيجة:
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)
أحرف البدل
يمكنك أيضًا تحديد السجلات التي تبدأ أو تتضمن أو تنتهي بحرف أو عبارة معينة.
استخدم ال %
لتمثيل أحرف البدل:
مثال
حدد السجلات حيث يحتوي العنوان على كلمة "طريقة":
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
عندما يتم توفير قيم الاستعلام من قبل المستخدم ، يجب عليك تجاوز القيم.
هذا لمنع حقن SQL ، وهو أسلوب شائع لاختراق الويب لتدمير قاعدة البيانات الخاصة بك أو إساءة استخدامها.
تحتوي الوحدة النمطية mysql.connector على طرق للتخلص من قيم الاستعلام:
مثال
هروب قيم الاستعلام باستخدام %s
طريقة placholder:
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)