MySQL Where

از ویکی‌کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Python-menu.png
موارد آموزشی
مدیریت فایل
یادگیری ماشین
MySQL در پایتون
۱شروع کار
۲ایجاد پایگاه‌داده
۳ایجاد جدول
۴واردکردن در جدول
۵انتخاب
۶Where
۷Order By
۸حذف از جدول
۹حذف جدول
۱۰بروزرسانی
۱۱محدودکردن
۱۲الحاق
MongoDB در پایتون
مرجع پایتون
مرجع ماژول
چگونه در پایتون؟
مثال‌های پایتون

انتخاب با یک فیلتر

هنگام انتخاب رکوردها از یک جدول، می‌توانید انتخاب را استفاده از عبارت “WHERE” فیلتر کنید:[۱]

مثال

رکوردهایی را انتخاب می‌کند که آدرس آنها "Park Lane 38" است:

نتیجه:

 1 import mysql.connector
 2 
 3 mydb = mysql.connector.connect(
 4   host="localhost",
 5   user="yourusername",
 6   passwd="yourpassword",
 7   database="mydatabase"
 8 )
 9 
10 mycursor = mydb.cursor()
11 
12 sql = "SELECT * FROM customers WHERE address ='Park Lane 38'"
13 
14 mycursor.execute(sql)
15 
16 myresult = mycursor.fetchall()
17 
18 for x in myresult:
19   print(x)


مشاهدهٔ نتیجه


کاراکترهای Wildcard

همچنین می‌توانید رکودهایی که با حرف یا عبارت خاصی شروع می‌شوند، شامل می‌شوند یا به پایان می‌رسند را انتخاب کنید.

از % برای نمایش کاراکترهای wildcard استفاده کنید:

مثال

انتخاب رکوردهایی که در آنها address شامل کلمه “way” باشد:

 1 import mysql.connector
 2 
 3 mydb = mysql.connector.connect(
 4   host="localhost",
 5   user="yourusername",
 6   passwd="yourpassword",
 7   database="mydatabase"
 8 )
 9 
10 mycursor = mydb.cursor()
11 
12 sql = "SELECT * FROM customers WHERE address LIKE '%way%'"
13 
14 mycursor.execute(sql)
15 
16 myresult = mycursor.fetchall()
17 
18 for x in myresult:
19   print(x)


مشاهدهٔ نتیجه


جلوگیری از SQL Injection

هنگامی که مقدارهای پرس‌وجو (به انگلیسی: query) توسط کاربر فراهم می‌شوند، باید از مقدارها بگریزید.

این کار برای جلوگیری از SQL Injectionها است، که یک تکنیک هک رایج برای نابودی یا سوءاستفاده از پایگاه داده شماست.

ماژول mysql.connector متدهایی برای گریز از مقدارهای پرس‌وجو دارد:

مثال

با استفاده از متد %s placholder از مقدار در پرس‌وجو می‌گریزد:

 1 import mysql.connector
 2 
 3 mydb = mysql.connector.connect(
 4   host="localhost",
 5   user="yourusername",
 6   passwd="yourpassword",
 7   database="mydatabase"
 8 )
 9 
10 mycursor = mydb.cursor()
11 
12 sql = "SELECT * FROM customers WHERE address = %s"
13 adr = ("Yellow Garden 2", )
14 
15 mycursor.execute(sql, adr)
16 
17 myresult = mycursor.fetchall()
18 
19 for x in myresult:
20   print(x)


مشاهدهٔ نتیجه



منابع آموزشی