التابع Cursor.executemany()
في بايثون
اذهب إلى التنقل
اذهب إلى البحث
ينفّذ التابع أمر SQL على جميع تسلسلات المعاملات parameter sequences أو الروابط mappings الموجودة في تسلسل المعاملات المعطى.
البنية العامة
executemany(sql, seq_of_parameters)
المعاملات
sql
سلسلة نصية تتضمن جمل SQL المراد تنفيذها.
seq_of_parameters
ينفّذ التابع أمر SQL على جميع تسلسلات المعاملات parameter sequences أو الروابط mappings الموجودة في التسلسل seq_of_parameters
. تسمح وحدة sqlite3
كذلك باستخدام مكرِّر ينتج معاملات بدلًا عن إنتاج تسلسل.
أمثلة
يبين المثال التالي طريقة استخدام التابع:
import sqlite3
class IterChars:
def __init__(self):
self.count = ord('a')
def __iter__(self):
return self
def __next__(self):
if self.count > ord('z'):
raise StopIteration
self.count += 1
return (chr(self.count - 1),) # this is a 1-tuple
con = sqlite3.connect(":memory:")
cur = con.cursor()
cur.execute("create table characters(c)")
theIter = IterChars()
cur.executemany("insert into characters(c) values (?)", theIter)
cur.execute("select c from characters")
print(cur.fetchall())
يستخدم المثال التالي المولدات:
import sqlite3
import string
def char_generator():
for c in string.ascii_lowercase:
yield (c,)
con = sqlite3.connect(":memory:")
cur = con.cursor()
cur.execute("create table characters(c)")
cur.executemany("insert into characters(c) values (?)", char_generator())
cur.execute("select c from characters")
print(cur.fetchall())
انظر أيضًا
- التابع
Connection.execute()
: ينفّذ التابع جملة SQL المعطاة.
- التابع
Connection.executescript()
: هذا التابع من التوابع غير المعيارية والذي يسهل عملية تنفيذ جمل SQL متعددة دفعة واحدة.
مصادر
صفحة DB-API 2.0 interface for SQLite databases في توثيق بايثون الرسمي.