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
    CLI
    Hizmet Uç Noktasını Yapılandırma Genel Portal
    CLI
    Özel bağlantı yapılandırma Özel Portal
    CLI
  • Python 2.7 veya 3.6+.

  • En son pip paketi yükleyicisi.

  • psycopg2'yi pip install psycopg2-binary bir 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.

  1. Bu Azure portal,sunucu adı için arama PostgreSQL için Azure Veritabanı seçin.

  2. 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.

    PostgreSQL için Azure Veritabanı sunucu adı

Ö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

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:

Komut satırı çıkışı

Sorun mu var? Bize haber ver

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])))


Sorun mu var? Bize haber ver

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")

Sorun mu var? Bize haber ver

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")

Sorun mu var? Bize haber ver

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

Sonraki adımlar

Ne arıyorsunuz? Bize haber ver.