التابع Cursor.fetchall()
في بايثون
يجلب التابع جميع الصفوف (المتبقّية) في نتيجة الاستعلام، ويعيد النتيجة على هيئة قائمة.
البنية العامة
fetchall()
القيمة المعادة
يجلب التابع جميع الصفوف (المتبقّية) في نتيجة الاستعلام، ويعيد النتيجة على هيئة قائمة.
يجدر التنبيه هنا إلى إمكانية تأثير خاصية arraysize
في كائن المؤشر على أداء هذا التابع.
يعيد التابع قائمة فارغة في حال عدم توفر الصفوف المطلوبة.
أمثلة
يبين المثال التالي طريقة عمل التابع:
>>> import sqlite3
>>> conn = sqlite3.connect(":memory:")
>>> cur = conn.cursor()
>>> cur.execute("CREATE TABLE stocks (date text, trans text, symbol text, qty real, price real)")
<sqlite3.Cursor object at 0x7f0e97a11f10>
>>> purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00),
... ('2006-04-05', 'BUY', 'MSFT', 1000, 72.00),
... ('2006-04-06', 'SELL', 'IBM', 500, 53.00),
... ]
>>> cur.executemany('INSERT INTO stocks VALUES (?,?,?,?,?)', purchases)
<sqlite3.Cursor object at 0x7f0e97a11f10>
>>> cur.execute("SELECT * FROM stocks ORDER BY price")
<sqlite3.Cursor object at 0x7f0e97a11f10>
>>> cur.fetchall()
[('2006-03-28', 'BUY', 'IBM', 1000.0, 45.0), ('2006-04-06', 'SELL', 'IBM', 500.0, 53.0), ('2006-04-05', 'BUY', 'MSFT', 1000.0, 72.0)]
انظر أيضًا
- التابع
Connection.fetchone()
: يجلب التابع الصفّ row التالي من نتيجة الاستعلام، ويعيد تسلسلًا واحدًا فقط. - التابع
Connection.fetchmany()
: يجلب التابع المجموعة اللاحقة من الصفوف rows في نتيجة الاستعلام.
مصادر
صفحة DB-API 2.0 interface for SQLite databases في توثيق بايثون الرسمي.