آموزش توابع SQL در Peewee

3 سال پیش
آموزش توابع SQL در Peewee

آموزش توابع SQL در Peewee

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش توابع SQL در Peewee خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش صفر تا صد پایتون

استاندارد Structured Query Language (SQL) موسسه استاندارد ملی آمریکا (ANSI) بسیاری از توابع SQL را تعریف می کند.

توابع تجمعی مانند موارد زیر در Peewee مفید هستند.

()AVG  – مقدار متوسط ​​را برمی گرداند.

()COUNT – تعداد سطرها را برمی گرداند.

()FIRST – اولین مقدار را برمی گرداند.

()LAST – آخرین مقدار را برمی گرداند.

()MAX – بزرگترین مقدار را برمی گرداند.

()MIN  – کوچکترین مقدار را برمی گرداند.

()SUM  – مجموع را برمی گرداند.

برای پیاده سازی این توابع SQL ، Peewee یک تابع کمکی ()SQL fn دارد. در مثال بالا، ما از آن برای یافتن تعداد رکوردها برای هر شهر استفاده کردیم.

مثال زیر یک کوئری SELECT ایجاد می کند که از تابع ()SUM استفاده می کند.

با استفاده از جداول Bill و Item از مدلهایی که قبلاً تعریف شده اند ، مجموع مقدار هر مورد را که در جدول Bill وارد شده است نمایش می دهیم.

Id نام آیتم قیمت
۱ Laptop ۲۵۰۰۰
۲ Printer ۱۲۰۰۰
۳ Router ۴۰۰۰

 

جدول صورتحساب

جدول صورتحساب به شرح زیر است –

Id Item_id Brand_id Quantity
۱ ۱ ۳ ۵
۲ ۲ ۲ ۲
۳ ۳ ۴ ۵
۴ ۲ ۲ ۶
۵ ۳ ۴ ۳
۶ ۱ ۳ ۱

مثال

ما بین جدول صورتحصاب و آیتم پیوند ایجاد می کنیم، نام مورد را از جدول Item و مجموع مقدار را از جدول Bill انتخاب می کنیم.

from peewee import *
db = SqliteDatabase('mydatabase.db')

class BaseModel(Model):
   class Meta:
      database = db

class Item(BaseModel):
   itemname = TextField()
   price = IntegerField()

class Brand(BaseModel):
   brandname = TextField()
   item = ForeignKeyField(Item, backref='brands')

class Bill(BaseModel):
   item = ForeignKeyField(Item, backref='bills')
   brand = ForeignKeyField(Brand,      backref='bills')
   qty = DecimalField()

db.create_tables([Item, Brand, Bill])

qs=Bill.select(Item.itemname, fn.SUM(Bill.qty).alias('Sum'))
   .join(Item).group_by(Item.itemname)
print (qs)
for q in qs:
   print ("Item: {} sum: {}".format(q.item.itemname, q.Sum))

db.close()

 

اسکریپت بالا عبارت SELECT زیر را اجرا می کند –

SELECT "t1"."itemname", SUM("t2"."qty") AS "Sum" FROM "bill" AS "t2" 
INNER JOIN "item" AS "t1" ON ("t2"."item_id" = "t1"."id") GROUP BY "t1"."itemname"

 

خروجی

بر این اساس، خروجی به شرح زیر است –

Item: Laptop sum: 6
Item: Printer sum: 8
Item: Router sum: 8

 

منبع.

 

 

لیست جلسات قبل آموزش Peeweee

  1. آموزش Peeweee
  2. آموزش مقدماتی Peeweee
  3. آموزش کلاس پایگاه داده در Peeweee
  4. آموزش کلاس مدل در Peeweee
  5. آموزش کلاس Field در Peewee
  6. آموزش ایجاد یک رکورد جدید در Peewee
  7. آموزش انتخاب رکورد در Peewee
  8. آموزش فیلترها در Peewee
  9. آموزش کلیدهای اولیه و کامپوزیت در Peewee
  10. آموزش به روزرسانی رکوردهای موجود در Peewee
  11. آموزش حذف رکوردها در Peewee
  12. آموزش ایجاد ایندکس در Peewee
  13. آموزش محدودیت ها در Peewee
  14. آموزش استفاده از MySQL در Peewee
  15. آموزش استفاده از PostgreSQL در Peewee
  16. آموزش تعریف پایگاه داده به صورت پویا در Peewee
  17. آموزش مدیریت اتصال در Peewee
  18. آموزش روابط و پیوستن در Peewee
  19. آموزش subquery در Peewee
  20. آموزش مرتب سازی در Peewee
  21. آموزش شمارش در Peewee
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه