۴. کار با کوئری‌های پیچیده

در بخش قبل نحوه انجام عملیات اصلی پایگاه داده، مانند افزودن، خواندن، به‌روزرسانی و حذف داده‌ها را یاد گرفتیم.در این بخش به نحوه اجرای کوئری‌های پیچیده‌تر می‌پردازیم که به شما امکان می‌دهد داده‌ها را بر اساس شرایط مختلف فیلتر کنید، آن‌ها را مرتب‌سازی کنید و از توابع تجمیعی استفاده کنید. این مفاهیم برای تحلیل داده‌ها و مدیریت بهتر آن‌ها ضروری هستند.


۴.۱. فیلتر کردن داده‌ها با WHERE

برای فیلتر کردن داده‌ها و انتخاب رکوردهای خاص، از عبارت WHERE استفاده می‌کنیم. مثال زیر نشان می‌دهد که چگونه کاربران بالای 20 سال را انتخاب کنیم:

# اتصال به پایگاه داده
connection = sqlite3.connect('my_database.db')
cursor = connection.cursor()

# انتخاب کاربران با سن بیشتر از 20 سال
cursor.execute('''
    SELECT * FROM users
    WHERE age > ?
''', (20,))
users = cursor.fetchall()

for user in users:
    print(user)

# بستن اتصال
connection.close()

در این کد، تنها کاربران با سن بیشتر از 20 انتخاب می‌شوند.


۴.۲. مرتب‌سازی داده‌ها با ORDER BY

برای مرتب‌سازی نتایج بر اساس یک یا چند ستون، از ORDER BY استفاده می‌کنیم. در مثال زیر، کاربران را بر اساس سن از کم به زیاد مرتب‌سازی می‌کنیم:

# اتصال به پایگاه داده
connection = sqlite3.connect('my_database.db')
cursor = connection.cursor()

# مرتب‌سازی کاربران بر اساس سن
cursor.execute('''
    SELECT * FROM users
    ORDER BY age ASC
''')
users = cursor.fetchall()

for user in users:
    print(user)

# بستن اتصال
connection.close()

در اینجا، با استفاده از ASC نتایج به‌صورت صعودی مرتب می‌شوند. می‌توان از DESC نیز برای مرتب‌سازی نزولی استفاده کرد.


۴.۳. گروه‌بندی داده‌ها با GROUP BY

اگر بخواهید داده‌ها را بر اساس یک ویژگی مشترک گروه‌بندی کنید، از عبارت GROUP BY استفاده می‌شود. مثال زیر تعداد کاربران در هر گروه سنی را نشان می‌دهد:

# اتصال به پایگاه داده
connection = sqlite3.connect('my_database.db')
cursor = connection.cursor()

# گروه‌بندی کاربران بر اساس سن
cursor.execute('''
    SELECT age, COUNT(*) FROM users
    GROUP BY age
''')
age_groups = cursor.fetchall()

for group in age_groups:
    print(group)

# بستن اتصال
connection.close()

این کد تعداد کاربران در هر گروه سنی را به ما می‌دهد.


۴.۴. توابع تجمیعی (SUM، AVG، MAX، MIN)

توابع تجمیعی به شما اجازه می‌دهند تا عملیات‌هایی مانند جمع، میانگین، بیشترین و کمترین مقدار را بر روی ستون‌های داده اجرا کنید. مثال زیر از AVG برای محاسبه میانگین سن کاربران استفاده می‌کند:

# اتصال به پایگاه داده
connection = sqlite3.connect('my_database.db')
cursor = connection.cursor()

# محاسبه میانگین سن کاربران
cursor.execute('''
    SELECT AVG(age) FROM users
''')
average_age = cursor.fetchone()[0]

print(f"Average age: {average_age}")

# بستن اتصال
connection.close()

همچنین می‌توانید از توابع SUM برای جمع، MAX برای بیشترین و MIN برای کمترین مقدار نیز استفاده کنید.


با یادگیری کوئری‌های پیچیده، شما می‌توانید داده‌های خود را به شیوه‌ای کارآمدتر مدیریت و تحلیل کنید و به نتایج دقیق‌تری دست یابید. این مفاهیم به شما کمک می‌کنند تا داده‌های پایگاه داده خود را بهتر سازماندهی و تحلیل کنید.

پاسخ‌ها

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پاسخ‌ها

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

اتصال به دیتابیس mysql در پایتون

اتصال به دیتابیس mysql در پایتون

برای اتصال به یک پایگاه داده MySQL با استفاده از mysql-connector-python، ابتدا باید این کتابخانه را نصب کنید و سپس کد مربوطه را بنویسید. در ادامه،