Alanlarınızdan herhangi biri bir tarih veya saat gerektiriyorsa, Python ile standart olarak gelen datetime modülünü de içe aktarmak istersiniz.
Bir veritabanına bağlantı açmak için psycopg için iki bağımsız değişken gerekir: veritabanının adı ('dbname') ve kullanıcının adı ('kullanıcı'). Bir bağlantı açma sözdizimi şu biçimi izler:
Veritabanımız için 'Kuşlar' veritabanı adını ve 'robert' kullanıcı adını kullanacağız. Program içindeki bağlantı nesnesi için 'bağlantı' değişkenini kullanalım. Bu nedenle, bağlantı komutumuz aşağıdaki gibi okunur:
Doğal olarak, bu komut yalnızca her iki değişkenin de doğru olması durumunda çalışır: 'robert' adlı bir kullanıcının erişebildiği 'Kuşlar' adlı gerçek bir veritabanı olmalıdır. Bu koşullardan herhangi biri yerine getirilmezse, Python bir hata verir.
Daha sonra, Python veritabanına okuma ve yazmada en son nerede kaldığını takip etmeyi sever. Psycopg'da buna imleç denir, ancak programımız için 'mark' değişkenini kullanacağız. Böylece, aşağıdaki ödevi oluşturabiliriz:
Bazı SQL ekleme biçimleri anlaşılmış veya belirtilmemiş sütun yapısına izin verse de, insert ifadelerimiz için aşağıdaki şablonu kullanacağız:
Bu formattaki bir ifadeyi 'execute' yöntemine aktarabilir ve veri tabanına veri ekleyebilsek de, bu hızlı bir şekilde kıvrık ve kafa karıştırıcı hale gelir. Daha iyi bir yol, ifadeyi aşağıdaki gibi 'execute' komutundan ayrı olarak bölümlendirmektir:
Son olarak, verileri PostgreSQL'e aktardıktan sonra, verileri veritabanına vermeliyiz:
Şimdi 'insert' fonksiyonumuzun temel parçalarını oluşturduk. Bir araya getirildiğinde, parçalar şöyle görünür:
İfademizde üç değişken olduğunu göreceksiniz: tablo, sütunlar ve değerler. Bunlar, fonksiyonun çağrıldığı parametreler haline gelir:
Elbette bunu bir doc dizesiyle takip etmeliyiz:
Son olarak, gerektiğinde tanımlanan sütunları ve değerleri kullanarak, seçtiğimiz bir tabloya veri eklemek için bir fonksiyonumuz var.
Bu işlevi çağırmak için, tabloyu, sütunları ve değerleri tanımlamamız ve aşağıdaki gibi aktarmamız yeterlidir: