الفرق بين المراجعتين ل"Python/Cursor/executemany"
اذهب إلى التنقل
اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>Cursor.executemany()</code> في بايثون}}</noinclude> ينفّذ التابع أمر SQL على جميع تسلس...') |
|||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:التابع <code>Cursor.executemany()</code> في بايثون}}</noinclude> | <noinclude>{{DISPLAYTITLE:التابع <code>Cursor.executemany()</code> في بايثون}}</noinclude> | ||
− | ينفّذ التابع أمر SQL على جميع تسلسلات المعاملات parameter sequences أو الروابط mappings الموجودة في تسلسل المعاملات المعطى. | + | ينفّذ التابع أمر [[SQL]] على جميع تسلسلات المعاملات parameter sequences أو الروابط mappings الموجودة في تسلسل المعاملات المعطى. |
== البنية العامة == | == البنية العامة == | ||
سطر 8: | سطر 8: | ||
executemany(sql, seq_of_parameters) | executemany(sql, seq_of_parameters) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
− | == | + | == المعاملات == |
=== <code>sql</code> === | === <code>sql</code> === | ||
− | سلسلة نصية تتضمن | + | [[Python/str|سلسلة نصية]] تتضمن جمل [[SQL]] المراد تنفيذها. |
=== <code>seq_of_parameters</code> === | === <code>seq_of_parameters</code> === | ||
− | ينفّذ التابع أمر SQL على جميع تسلسلات المعاملات parameter sequences أو الروابط mappings الموجودة في التسلسل seq_of_parameters. تسمح وحدة sqlite3 كذلك باستخدام مكرِّر ينتج معاملات بدلًا عن إنتاج تسلسل. | + | ينفّذ التابع أمر SQL على جميع تسلسلات المعاملات parameter sequences أو الروابط mappings الموجودة في التسلسل <code>seq_of_parameters</code>. تسمح [[Python/sqlite3|وحدة <code>sqlite3</code>]] كذلك باستخدام مكرِّر ينتج معاملات بدلًا عن إنتاج تسلسل. |
== أمثلة == | == أمثلة == | ||
سطر 51: | سطر 51: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | يستخدم المثال التالي المولدات: | + | يستخدم المثال التالي [[Python/generators|المولدات]]: |
<syntaxhighlight lang="python3"> | <syntaxhighlight lang="python3"> | ||
سطر 73: | سطر 73: | ||
== انظر أيضًا == | == انظر أيضًا == | ||
− | * [[Python/Cursor/ | + | *[[Python/Cursor/execute|التابع <code>Connection.execute()</code>]]: ينفّذ التابع جملة SQL المعطاة. |
− | * [[Python/Cursor/executescript|التابع <code>Connection.executescript()</code>]]:هذا التابع من التوابع غير المعيارية والذي يسهل عملية تنفيذ جمل SQL متعددة دفعة واحدة. | + | |
+ | *[[Python/Cursor/executescript|التابع <code>Connection.executescript()</code>]]: هذا التابع من التوابع غير المعيارية والذي يسهل عملية تنفيذ جمل SQL متعددة دفعة واحدة. | ||
== مصادر == | == مصادر == | ||
[https://docs.python.org/3/library/sqlite3.html#sqlite3.Cursor.executemany صفحة DB-API 2.0 interface for SQLite databases في توثيق بايثون الرسمي.] | [https://docs.python.org/3/library/sqlite3.html#sqlite3.Cursor.executemany صفحة DB-API 2.0 interface for SQLite databases في توثيق بايثون الرسمي.] |
المراجعة الحالية بتاريخ 22:07، 18 سبتمبر 2018
ينفّذ التابع أمر 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 في توثيق بايثون الرسمي.