MySQL Where

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

انتخاب با یک فیلتر[ویرایش | ویرایش]

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

مثال[ویرایش | ویرایش]

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

نتیجه:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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)


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


کاراکترهای Wildcard[ویرایش | ویرایش]

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

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

مثال[ویرایش | ویرایش]

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

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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 Injection[ویرایش | ویرایش]

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

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

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

مثال[ویرایش | ویرایش]

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

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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)


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



منابع آموزشی