Mulai cepat: Menggunakan bahasa Python untuk menyambungkan dan mengkueri data di Azure Database for PostgreSQL - Server Tunggal
BERLAKU UNTUK: Azure Database for PostgreSQL - Server Fleksibel
Dalam mulai cepat ini, Anda menyambungkan ke instans server fleksibel Azure Database for PostgreSQL dengan menggunakan Python. Kemudian, Anda menggunakan pernyataan SQL untuk mengajukan kueri, menyisipkan, memperbarui, dan menghapus data dalam database dari platform Mac, Ubuntu Linux, dan Windows.
Artikel ini mengasumsikan bahwa Anda terbiasa mengembangkan menggunakan Python, tetapi Anda baru bekerja dengan server fleksibel Azure Database for PostgreSQL.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Instans server fleksibel Azure Database for PostgreSQL. Untuk membuat instans server fleksibel Azure Database for PostgreSQL, lihat Membuat instans Azure Database for PostgreSQL - Server Fleksibel menggunakan portal Azure.
- Python 2.7 atau 3.6+.
- Alat pemasang paket pip terbaru.
Mempersiapkan stasiun kerja klien Anda
- Jika Anda membuat instans server fleksibel Azure Database for PostgreSQL dengan akses Privat (Integrasi VNet), Anda harus terhubung ke server Anda dari sumber daya dalam VNet yang sama dengan server Anda. Anda dapat membuat komputer virtual dan menambahkannya ke VNet yang dibuat dengan instans server fleksibel Azure Database for PostgreSQL Anda. Lihat Membuat dan mengelola jaringan virtual Server Fleksibel Azure Database for PostgreSQL menggunakan Azure CLI.
- Jika Anda membuat instans server fleksibel Azure Database for PostgreSQL dengan Akses publik (alamat IP yang diizinkan), Anda dapat menambahkan alamat IP lokal Anda ke daftar aturan firewall di server Anda. Lihat Membuat dan mengelola Azure Database for PostgreSQL - Aturan firewall Server Fleksibel menggunakan Azure CLI.
Menginstal pustaka Python untuk PostgreSQL
Modul psycopg2 memungkinkan menyambungkan ke dan mengkueri database PostgreSQL, dan tersedia sebagai paket roda Linux, macOS, atau Windows. Instal versi biner modul, termasuk semua dependensi.
Untuk menginstal psycopg2
, buka terminal atau prompt perintah dan jalankan perintah pip install psycopg2
.
Mendapatkan informasi koneksi database
Koneksi ke instans server fleksibel Azure Database for PostgreSQL memerlukan nama server dan info masuk yang sepenuhnya memenuhi syarat. Anda bisa mendapatkan informasi ini dari portal Microsoft Azure.
Di portal Azure, cari dan pilih nama server fleksibel Azure Database for PostgreSQL Anda.
Pada halaman Ringkasan server, salin Nama server yang sepenuhnya memenuhi syarat beserta Nama pengguna admin. Nama server yang sepenuhnya memenuhi syarat selalu dalam bentuk <nama-server-saya>.postgres.database.azure.com.
Anda juga memerlukan kata sandi admin Anda. Jika lupa, Anda dapat mengatur ulang dari halaman ikhtisar.
Cara menjalankan contoh Python
Untuk setiap contoh kode dalam artikel ini:
Buat file baru di editor teks.
Tambahkan contoh kode ke file. Dalam kode, ganti:
<server-name>
dan<admin-username>
dengan nilai yang Anda salin dari portal Microsoft Azure.<admin-password>
dengan kata sandi server Anda.<database-name>
dengan nama database server fleksibel Azure Database for PostgreSQL Anda. Database default bernama postgres secara otomatis dibuat saat Anda membuat server Anda. Anda bisa mengganti nama database tersebut atau membuat database baru dengan menggunakan perintah SQL.
Simpan file di folder proyek Anda dengan ekstensi .py seperti postgres-insert.py. Untuk Windows, pastikan pengkodean UTF-8 dipilih saat Anda menyimpan file.
Untuk menjalankan file, ubah ke folder proyek Anda di antarmuka baris perintah, dan ketik
python
diikuti dengan misalnya, nama filepython postgres-insert.py
.
Membuat tabel dan menyisipkan rekaman
Contoh kode berikut tersambung ke database server fleksibel Azure Database for PostgreSQL Anda menggunakan fungsi psycopg2.connect, dan memuat data dengan pernyataan SQL INSERT . Fungsi kursor.eksekusi menjalankan kueri SQL terhadap database.
import psycopg2
# Update connection string information
host = "<server-name>"
dbname = "<database-name>"
user = "<admin-username>"
password = "<admin-password>"
sslmode = "require"
# Construct connection string
conn_string = "host={0} user={1} dbname={2} password={3} sslmode={4}".format(host, user, dbname, password, sslmode)
conn = psycopg2.connect(conn_string)
print("Connection established")
cursor = conn.cursor()
# Drop previous table of same name if one exists
cursor.execute("DROP TABLE IF EXISTS inventory;")
print("Finished dropping table (if existed)")
# Create a table
cursor.execute("CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);")
print("Finished creating table")
# Insert some data into the table
cursor.execute("INSERT INTO inventory (name, quantity) VALUES (%s, %s);", ("banana", 150))
cursor.execute("INSERT INTO inventory (name, quantity) VALUES (%s, %s);", ("orange", 154))
cursor.execute("INSERT INTO inventory (name, quantity) VALUES (%s, %s);", ("apple", 100))
print("Inserted 3 rows of data")
# Clean up
conn.commit()
cursor.close()
conn.close()
Ketika kode berjalan dengan sukses, kode menghasilkan output berikut:
Membaca data
Contoh kode berikut tersambung ke database server fleksibel Azure Database for PostgreSQL Anda dan menggunakan cursor.execute dengan pernyataan SQL SELECT untuk membaca data. Fungsi ini menerima kueri dan mengembalikan hasil ke iterasi dengan menggunakan cursor.fetchall()
import psycopg2
# Update connection string information
host = "<server-name>"
dbname = "<database-name>"
user = "<admin-username>"
password = "<admin-password>"
sslmode = "require"
# Construct connection string
conn_string = "host={0} user={1} dbname={2} password={3} sslmode={4}".format(host, user, dbname, password, sslmode)
conn = psycopg2.connect(conn_string)
print("Connection established")
cursor = conn.cursor()
# Fetch all rows from table
cursor.execute("SELECT * FROM inventory;")
rows = cursor.fetchall()
# Print all rows
for row in rows:
print("Data row = (%s, %s, %s)" %(str(row[0]), str(row[1]), str(row[2])))
# Cleanup
conn.commit()
cursor.close()
conn.close()
Memperbarui data
Contoh kode berikut tersambung ke database server fleksibel Azure Database for PostgreSQL Anda dan menggunakan cursor.execute dengan pernyataan PEMBARUAN SQL untuk memperbarui data.
import psycopg2
# Update connection string information
host = "<server-name>"
dbname = "<database-name>"
user = "<admin-username>"
password = "<admin-password>"
sslmode = "require"
# Construct connection string
conn_string = "host={0} user={1} dbname={2} password={3} sslmode={4}".format(host, user, dbname, password, sslmode)
conn = psycopg2.connect(conn_string)
print("Connection established")
cursor = conn.cursor()
# Update a data row in the table
cursor.execute("UPDATE inventory SET quantity = %s WHERE name = %s;", (200, "banana"))
print("Updated 1 row of data")
# Cleanup
conn.commit()
cursor.close()
conn.close()
Menghapus data
Contoh kode berikut menyambungkan ke database server fleksibel Azure Database for PostgreSQL Anda dan menggunakan cursor.execute dengan pernyataan SQL DELETE untuk menghapus item inventori yang sebelumnya Anda sisipkan.
import psycopg2
# Update connection string information
host = "<server-name>"
dbname = "<database-name>"
user = "<admin-username>"
password = "<admin-password>"
sslmode = "require"
# Construct connection string
conn_string = "host={0} user={1} dbname={2} password={3} sslmode={4}".format(host, user, dbname, password, sslmode)
conn = psycopg2.connect(conn_string)
print("Connection established")
cursor = conn.cursor()
# Delete data row from table
cursor.execute("DELETE FROM inventory WHERE name = %s;", ("orange",))
print("Deleted 1 row of data")
# Cleanup
conn.commit()
cursor.close()
conn.close()