التابع Cursor.execute()
في بايثون
ينفّذ التابع جملة SQL المعطاة.
البنية العامة
execute(sql[, parameters])
المعاملات
sql
سلسلة نصية تتضمن جملة SQL المراد تنفيذها. يمكن استخدام جمل SQL تتضمن معاملات (أي استخدام محتوى نائب placeholder عوضًا عن الحروف). تدعم وحدة sqlite3 نوعين من المحتويات النائبة، هما: علامة الاستفهام (نمط qmark) ومحتوى نائب مسمّى (نمط التسمية).
ينفّذ تابع execute() جملة SQL واحدة، ويطلق التابع تحذيرًا في حال استخدام أكثر من جملة SQL واحدة. يمكن استخدام التابع executescript() لتنفيذ جمل SQL متعددة في استدعاء واحد.
أمثلة
يبين المثال التالي طريقة استخدام التابع، ويوضح كذلك طريقة استخدام نوعي المحتويات النائبة:
import sqlite3
con = sqlite3.connect(":memory:")
cur = con.cursor()
cur.execute("create table people (name_last, age)")
who = "Yeltsin"
age = 72
# نمط علامة الاستفهام
cur.execute("insert into people values (?, ?)", (who, age))
# نمط التسمية:
cur.execute("select * from people where name_last=:who and age=:age", {"who": who, "age": age})
print(cur.fetchone())
انظر أيضًا
- التابع
Connection.executemany()
:ينفّذ التابع أمر SQL على جميع تسلسلات المعاملات parameter sequences أو الروابط mappings الموجودة في التسلسل seq_of_parameters. - التابع
Connection.executescript()
:هذا التابع من التوابع غير المعيارية والذي يسهل عملية تنفيذ جمل SQL متعددة دفعة واحدة.
مصادر
صفحة DB-API 2.0 interface for SQLite databases في توثيق بايثون الرسمي.