Mohssen A Mohssen نشر 8 ديسمبر 2021 أرسل تقرير نشر 8 ديسمبر 2021 أقوم بإستخدام SQLAlchemy ولكن أريد أن أقوم بتنفيذ جملة SQL خام بدون الإعتماد على التوابع الموجودة في SQLAlchemy حاولت أن أنفذ الكود التالي: connection = db.session.connection() connection.execute( <sql> ) ولكن لم يعمل الكود السابق، لذلك أريد أن أعرف كيف أقوم بتنفيذ جملة raw SQL في فلاسك Flask بإستخدام SQLAlchemy؟ 1 اقتباس
1 سامح أشرف نشر 8 ديسمبر 2021 أرسل تقرير نشر 8 ديسمبر 2021 يمكنك أن تستعمل التابع 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 من خلال هذه المقالة: 2 اقتباس
السؤال
Mohssen A Mohssen
أقوم بإستخدام SQLAlchemy ولكن أريد أن أقوم بتنفيذ جملة SQL خام بدون الإعتماد على التوابع الموجودة في SQLAlchemy
حاولت أن أنفذ الكود التالي:
ولكن لم يعمل الكود السابق، لذلك أريد أن أعرف كيف أقوم بتنفيذ جملة raw SQL في فلاسك Flask بإستخدام SQLAlchemy؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.