هسته Sqlalchemy با متن SQL برای محدوده تاریخ

موسسه پایا پروژه به عنوان متصدی انجام پروژه های پایتون وظیفه ی خود می داند که در راستای آموزش نرم افزار پایتون گام های موثری را بردارد. با توجه به اینکه یک دوره آموزشی پایتون مستلزم تمرین و تلاش بسیار است. اما این موسسه تلاش می کند سهم کوچکی در جهت یادگیری شما داشته باشد.

SQLAlchemy Core یک لایه انتزاعی SQL سطح پایین از SQLAlchemy است که یک کتابخانه محبوب نقشه برداری شی گرا (ORM) در انجام پروژه پایتون است. این روشی را برای تعامل با کدهای wing python پایگاه های داده رابطه ای فراهم می کند و به توسعه دهندگان این امکان را می دهد که پرس و جوهای SQL را به شیوه ای شی گراتر بنویسند.

 

SQLAlchemy یک کتابخانه پایتون است که مجموعه ای از ابزارها را برای کار با پایگاه های داده ارائه می دهد. این برای کار با طیف گسترده ای از پایگاه داده های رابطه ای طراحی شده است، از جمله:

  • MySQL
  • PostgreSQL
  • SQLite
  • اوراکل
  • مایکروسافت SQL Server

 

از یک API یکپارچه برای تعامل با سیستم های پایگاه داده مختلف استفاده می کند و به شما این امکان را می دهد که بدون نیاز به تغییر کد خود بین پایگاه های داده جابجا شوید. این یک راه قدرتمند و انعطاف پذیر برای کار با پایگاه های داده SQL در پایتون ارائه می دهد.

برای استفاده از SQLAlchemy Core با متن SQL برای محدوده تاریخ، می‌توانید از تابع «متن» برای نوشتن یک پرسش SQL که شامل فیلتر محدوده تاریخ است استفاده کنید.

 

مراحل انجام پروژه پایتون:

1. تعریف یک شیء SQLAlchemy “engine”

یک شیء SQLAlchemy “engine” را برای اتصال به پایگاه داده خود تعریف کنید.

 

from sqlalchemy import create_engine

engine = create_engine(‘postgresql://username:password@localhost/mydatabase‘)

 

2. ایجاد یک شیء SQLAlchemy “connection”

یک شیء SQLAlchemy “connection” با استفاده از موتور ایجاد کنید.

()connection = engine.connect

 

3.      نوشتن پرس و جوی متنی SQL

پرس و جوی متنی SQL خود را با متغیرهایی برای محدوده داده بنویسید.

در اینجا ما تمام رکوردهای بین تاریخ شروع و پایان را بازیابی می کنیم.

 *SELECT

FROM mytable

WHERE date_column >= :start_date AND date_column <= :end_date

استفاده از از تابع text

 از تابع “text()” از SQLAlchemy Core برای ایجاد یک شی “متن” که پرس و جوی SQL شما را نشان می دهد، استفاده کنید.

from sqlalchemy import text

)sql_query = text

    SELECT * FROM mytable WHERE date_column >= :start_date AND”     

( “date_column <= :end_date       

4. پرس و جو با استفاده از execute()

پرس و جو را با استفاده از متد “execute()” روی شی اتصال اجرا کنید، و در یک فرهنگ لغت با تاریخ های شروع و پایان به عنوان مقادیر برای متغیرهای پرس و جوی SQL ارسال کنید.

 )result = connection.execute

   {sql_query, {‘start_date’: ‘2022-01-01’, ‘end_date’: ‘2022-12-31’}    

5. پردازش نتایج

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

:for row in result

    print(row)      

خروجی:

در این مثال، ما از تابع “text” برای نوشتن یک پرس و جوی SQL استفاده می کردیم که تمام سطرها را از جدول “table_name” انتخاب می کند که در آن ستون “date_column” بین “start_date” و “end_date” قرار دارد. سپس پارامترهای “start_date” و “end_date” را با استفاده از روش “execute” شی SQLAlchemy “engine” ارسال می کردیم.

توجه: هنگامی که از پرس‌و‌جوهای SQL با SQLAlchemy Core استفاده می‌کنیم، باید مراقب باشید که هر ورودی کاربر را به‌درستی پاکسازی کنید تا از حملات تزریق SQL جلوگیری کنید.

 

منابع:

w3schools.com

geeksforgeeks.org

دیدگاهتان را بنویسید

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

این زمینه را پر کنید
این زمینه را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

چهار + 2 =

سفارش پروژه