Hızlı Başlangıç: Python kullanarak PostgreSQL için Azure Veritabanı - Tek Sunucu'da veri bağlama ve sorgulama
Bu hızlı başlangıçta, PostgreSQL için Azure Veritabanı Tek Sunucusundaki veritabanına bağlanmayı ve macOS, Ubuntu Linux veya Windows üzerinde Python kullanarak sorgulamak için SQL deyimlerini çalıştırmayı Windows.
İpucu
PostgreSQL ile bir Django Uygulaması oluşturmak arıyorsanız, PostgreSQL ile Django web uygulaması dağıtma öğreticisini gözden bulun.
Önkoşullar
Bu hızlı başlangıç için şunları gerekir:
Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir hesap oluşturun.
PostgreSQL için Azure Veritabanı kullanarak tek bir sunucu Azure portal
veya Azure CLI'niz yoksa.Genel erişim mi yoksa özel erişim mi kullanıyorsanız bağlı olarak, bağlantı sağlamak için aşağıdaki eylemlerden birini gerçekleştirin.
Eylem Bağlantı yöntemi Nasıl yapılır kılavuzu Güvenlik duvarı kurallarını yapılandırma Genel Portal
CLIHizmet Uç Noktasını Yapılandırma Genel Portal
CLIÖzel bağlantı yapılandırma Özel Portal
CLIPython 2.7 veya 3.6+.
En son pip paketi yükleyicisi.
psycopg2'yi
pip install psycopg2-binarybir terminalde veya komut istemi penceresinde kullanarak yükleyin. Daha fazla bilgi için bkz. yükleme.psycopg2
Veritabanı bağlantı bilgilerini al
Bir veritabanına PostgreSQL için Azure Veritabanı tam sunucu adı ve oturum açma kimlik bilgileri gerekir. Bu bilgileri Azure portal.
Bu Azure portal,sunucu adı için arama PostgreSQL için Azure Veritabanı seçin.
Sunucunun Genel Bakış sayfasında, tam Sunucu adını ve Yönetici kullanıcı adını kopyalayın. Tam Sunucu adı her zaman <my-server-name> .postgres.database.azure.com şeklindedir ve Yönetici kullanıcı adı her zaman <my-admin-username>@<my-server-name> şeklindedir.
Yönetici parolanız da gerekir. Unutursanız bu sayfadan sıfırlayabilirsiniz.
Önemli
Aşağıdaki değerleri değiştirin:
<server-name>``<admin-username>ve değerlerini kopyalanan değerlerle Azure portal.<admin-password>ile sunucu parolanızı yazın.<database-name>Sunucuyu oluşturulduğunda postgres adlı varsayılan veritabanı otomatik olarak oluşturuldu. Bu veritabanını yeniden adlandırabilirsiniz veya yeni bir veritabanı oluşturmak için SQL oluşturabilirsiniz.
1. Adım: Bağlan ekleme ve ekleme
Aşağıdaki kod örneği, kullanarak PostgreSQL için Azure Veritabanı veritabanınıza bağlanır
- psycopg2.connect işlevi, bir SQL INSERT deyimiyle verileri yükler.
- cursor.execute işlevi veritabanında SQL sorgusunu yürütür.
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()
Kod başarıyla çalıştırıldıkları zaman aşağıdaki çıkışı üretir:
2. Adım: Verileri okuma
Aşağıdaki kod örneği, veritabanınıza PostgreSQL için Azure Veritabanı kullanır
- verileri okumak için SQL SELECT deyimiyle cursor.execute.
- cursor.fetchall() bir sorgu kabul eder ve kullanarak tekrar etmek için bir sonuç kümesi döndürür
# 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])))
3. Adım: Verileri güncelleştirme
Aşağıdaki kod örneği, verileri güncelleştirmek için SQL UPDATE deyimiyle cursor.execute kullanır.
# 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")
5. Adım: Verileri silme
Aşağıdaki kod örneği, daha önce eklenen bir envanter öğesini silmek SQL delete deyimiyle cursor.execute'i çalıştırır.
# Delete data row from table
cursor.execute("DELETE FROM inventory WHERE name = %s;", ("orange",))
print("Deleted 1 row of data")
Kaynakları temizleme
Bu hızlı başlangıçta kullanılan tüm kaynakları temizlemek için aşağıdaki komutu kullanarak kaynak grubunu silin:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes