إذا كان أي من الحقول الخاصة بك يتطلب تاريخًا أو وقتًا ، فستحتاج أيضًا إلى استيراد الوحدة الزمنية للتاريخ ، والتي تأتي قياسية مع Python.
لفتح اتصال بقاعدة بيانات ، يحتاج psycopg إلى وسيطتين: اسم قاعدة البيانات ("dbname") واسم المستخدم ("المستخدم"). يتبع بناء الجملة لفتح الاتصال هذا التنسيق:
بالنسبة لقاعدة البيانات الخاصة بنا ، سنستخدم اسم قاعدة البيانات "Birds" واسم المستخدم "robert". لكائن الاتصال داخل البرنامج ، دعنا نستخدم المتغير "اتصال". لذا ، سيقرأ أمر الاتصال كما يلي:
بطبيعة الحال ، لن يعمل هذا الأمر إلا إذا كان كلا المتغيرين دقيقًا: يجب أن تكون هناك قاعدة بيانات حقيقية باسم "الطيور" يمكن لمستخدم باسم "روبرت" الوصول إليها. إذا لم يتم ملء أي من هذين الشرطين ، فستقوم Python بإلقاء خطأ.
بعد ذلك ، تحب بايثون أن تكون قادرة على تتبع آخر مكان توقفت فيه في القراءة والكتابة إلى قاعدة البيانات. في psycopg ، يسمى هذا المؤشر ، ولكننا سنستخدم المتغير 'mark' في برنامجنا. لذلك ، يمكننا بعد ذلك إنشاء المهمة التالية:
بينما تسمح بعض تنسيقات إدراج SQL ببنية أعمدة مفهومة أو غير مذكورة ، سنستخدم القالب التالي لعبارات الإدراج:
بينما يمكننا تمرير بيان بهذا التنسيق إلى طريقة psycopg "تنفيذ" ، وبالتالي إدراج البيانات في قاعدة البيانات ، يصبح هذا الأمر معقدًا ومربكًا. أفضل طريقة هي تجزئة العبارة بشكل منفصل عن الأمر "تنفيذ" على النحو التالي:
أخيرًا ، بعد تمرير البيانات إلى PostgreSQL ، يجب أن نلزم البيانات بقاعدة البيانات:
الآن قمنا ببناء الأجزاء الأساسية من وظيفتنا "إدراج". معًا ، تبدو الأجزاء كما يلي:
ستلاحظ أن لدينا ثلاثة متغيرات في بياننا: الجدول والأعمدة والقيم. وبالتالي تصبح هذه المعلمات التي تسمى الدالة:
يجب بالطبع أن نتبع ذلك بسلسلة مستندات:
أخيرًا ، لدينا وظيفة لإدراج البيانات في جدول من اختيارنا ، باستخدام الأعمدة والقيم المحددة حسب الحاجة.
لاستدعاء هذه الوظيفة ، نحتاج ببساطة إلى تعريف الجدول والأعمدة والقيم وتمريرها على النحو التالي: