التابع Cursor.execute()‎ في بايثون

من موسوعة حسوب


ينفّذ التابع جملة SQL المعطاة.

البنية العامة

execute(sql[, parameters])

‎المعاملات

sql

سلسلة نصية تتضمن جملة SQL المراد تنفيذها. يمكن استخدام جمل تتضمن معاملات (أي استخدام محتوى نائب placeholder عوضًا عن الحروف). تدعم وحدة sqlite3 نوعين من المحتويات النائبة، هما: علامة الاستفهام (نمط qmark) ومحتوى نائب مسمّى (نمط التسمية).

ينفّذ تابع execute()‎ جملة SQL واحدة، ويطلق التابع تحذيرًا في حال استخدام أكثر من جملة واحدة. يمكن استخدام التابع executescript()‎ لتنفيذ جمل متعددة في استدعاء واحد.

أمثلة

يبين المثال التالي طريقة استخدام التابع، ويوضح كذلك طريقة استخدام نوعي المحتويات النائبة:

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 في توثيق بايثون الرسمي.