Psycopg adalah adaptor database PostgreSQL paling populer untuk bahasa pemrograman Python. Psycopg sepenuhnya memenuhi standar DB API 2.0. Versi saat ini adalah 2.0 dan masih terus aktif dikembangkan yang menjanjikan performa cepat dan stabil. Psycopg dirancang untuk aplikasi multi-threaded yang mendukung pembuatan dan penghapusan banyak kursor serta pembuatan fungsi INSERT atau UPDATE secara bersamaan.
Ketika kita ingin menjalankan SQL query SELECT, UPDATE, DELETE atau INSERT kedalam database postgreSQL kita membutuhkan psycopg sebagai penghubung antara bahasa pemrograman Python dengan Database PostgresSQL.
Homepage : http://initd.org/
Github : https://github.com/psycopg/psycopg2
Cara instalasi psycopg pada python :
Sintaks koneksi seperti ini :
Ketika kita ingin menjalankan SQL query SELECT, UPDATE, DELETE atau INSERT kedalam database postgreSQL kita membutuhkan psycopg sebagai penghubung antara bahasa pemrograman Python dengan Database PostgresSQL.
Homepage : http://initd.org/
Github : https://github.com/psycopg/psycopg2
Cara instalasi psycopg pada python :
pip install psycopg2
Sintaks koneksi seperti ini :
import psycopg2 try: conn = psycopg2.connect('''user=username password=password dbname=namadatabase host=127.0.0.1 port=5432''') print ("Berhasil terkoneksi") except: print ("Tidak dapat terkoneksi dengan database")
Sintaks diatas akan mengimpor adaptor dan mencoba untuk terhubung ke database. Jika koneksi gagal, maka akan menampilkan eksepsi "Tidak dapat terkoneksi dengan database".
Kemudian kita perlu mendefinisikan cursor :
cur = conn.cursor()
Seletah cursor terdefinisi, kita sudah bisa melakukan eksekusi query dengan cara :
cur.execute('sql query')
cur.execute("""SELECT * from users""")Kemudian kita perlu menyimpan result-set hasil eksekusi query kedalam variabel, contoh variabel record
record = cur.fetchall()
**kelebihan dari psycopg adalah result set hasil query secara otomatis dikonversi kedalam varible tipe list
untuk menampikan hasil query :for row in record : print(row)
karena record adalah variabel dengan tipe data list maka kita bisa menampilkan data berdasarkan index posisi kolom seperti ini :
for row in record : print("{} {} ".format(row[0],row[1]))
SQL UPDATE, INSERT dan DELETE
Perbedaan dari Sql SELECT sebelumnya dengan Sql Update, Inser, dan Delete terletak perintah penggunaan
conn.commit()
, fungsi untuk mengkonfirmasi perubahan dalam database. Pada SELECT kita tidak menggunakannya karena query SELECT tidak melakukan perubahan apapun pada database.SQL UPDATE
Mengupdate tabel 'users', merubah password menjadi = 'passwordsaya' dimana userid nya = 'gani'
sql_update_query= '''Update users set password = %s where userid = %s''' cur = conn.cursor() cur.execute(sql_update_query, ('passwordsaya', 'gani')) conn.commit() count = cur.rowcount print(count, " record berhasil diupdate")
SQL INSERT
Menginsert data ke tabel 'users', dengan value userid = 'budi', dan password = 'passwordbudi'
sql_insert_query='''INSERT INTO users(userid, password) VALUES (%s,%s)''' cur = conn.cursor() cur.execute(sql_insert_query, ('budi', 'passwordbudi')) conn.commit() count = cursor.rowcount print(count, " record berhasil diinsert")
SQL DELETE QUERY
Menghapus data di tabel users, dimana userid = 'gani'
sql_delete_query = '''DELETE FROM users WHERE userid=%s''' cur = conn.cursor() cur.execute(sql_delete_query, ('budi', )) conn.commit() count = cursor.rowcount print(count, " record berhasil didelete")
Terima kasih, semoga bermanfaat... jika ada kesulitan silahkan bertanya dikolom komentar ^^
No comments:
Post a Comment