اذهب إلى المحتوى
  • 0

كيفية تنفيذ جملة SQL بإستخدام SQLAlchemy في فلاسك Flask؟

Mohssen A Mohssen

السؤال

أقوم بإستخدام SQLAlchemy ولكن أريد أن أقوم بتنفيذ جملة SQL خام بدون الإعتماد على التوابع الموجودة في SQLAlchemy

حاولت أن أنفذ الكود التالي:

connection = db.session.connection()
connection.execute( <sql> )

ولكن لم يعمل الكود السابق، لذلك أريد أن أعرف كيف أقوم بتنفيذ جملة raw SQL في فلاسك Flask بإستخدام SQLAlchemy؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكنك أن تستعمل التابع execute من الكائن engine، على النحو التالي:

rows = db.engine.execute("SELECT * FROM userss")

كما يمكنك تمرير بعض العوامل والقيم لتفادي ثغرة SQL Injection :

result = db.session.execute('SELECT * FROM users WHERE age > :val', {'val': 18})

ويمكنك عمل commit في حالة أردت أن تقوم بتنفيذ جملة تعدل على قاعدة البيانات عليك أن تستخدم التابع execution_options:

rows = db.engine.execute("<sql>").execution_options(autocommit=True))

أو يمكنك أن تقوم بإستخدام التابع text:

from sqlalchemy import text

sql = text('select name from users')
result = db.engine.execute(sql)

names = [row[0] for row in result]
print(names)

يمكنك الحصول على مزيد من المعلومات عن SQLAlchemy من خلال هذه المقالة:

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...