فیلتر سازی با where در پایگاه داده MySQL
با فیلتر انتخاب کنید
هنگام انتخاب سوابق از جدول ، می توانید انتخاب را با استفاده از عبارت "WHERE" فیلتر کنید:
برای مثال در قطعه کد زیر رکورد (های) محل آدرس "Park Lane 38" را انتخاب می کنیم:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="myusername",
passwd="mypassword",
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)
خروجی:
(11, 'Ben', 'Park Lane 38')
کارکترهای Wildcard
همچنین می توانید سوابق انتخاب شده ، شامل یا پایان یافته با یک حرف یا عبارت مشخص را انتخاب کنید.
از٪ برای نمایش نویسه های wildcard استفاده کنید.
برای مثال قطعه کد زیر سوابقی را انتخاب می کند که آدرس حاوی کلمه "way" باشد:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="myusername",
passwd="mypassword",
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)
خروجی:
(1, 'John', 'Highway 21')
(9, 'Susan', 'One way 98')
(14, 'Viola', 'Sideway 1633')
جلوگیری از تزریق SQL
هنگامی که مقادیر پرس و جو توسط کاربر ارائه می شود ، باید از مقادیر فرار کنید.
این کار برای جلوگیری از تزریق SQL است که یک روش هک وب مشترک برای تخریب یا سو mis استفاده از پایگاه داده شما است.
ماژول mysql.connector روشهایی برای فرار از مقادیر پرس و جو دارد:
برای مثال در قطعه کد زیر با استفاده از روش نگهدارنده ٪ s از مقادیرquery فرار کنید:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="myusername",
passwd="mypassword",
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)
خروجی:
(10, 'Vicky', 'Yellow Garden 2')
ثبت دیدگاه
0دیدگاه