Hızlı Başlangıç: PostgreSQL için Azure Veritabanı - Tek Sunucuda verileri bağlamak ve sorgulamak için Python kullanma

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Veritabanı - Tek Sunucu

Önemli

PostgreSQL için Azure Veritabanı - Tek Sunucu kullanımdan kaldırma yolundadır. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya yükseltmenizi kesinlikle öneririz. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya geçiş hakkında daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı Tek Sunucuya ne oluyor?.

Bu hızlı başlangıçta, PostgreSQL için Azure Veritabanı Tek Sunucu'daki veritabanına bağlanmayı ve macOS, Ubuntu Linux veya Windows üzerinde Python kullanarak sorgulamak için SQL deyimlerini çalıştırmayı öğreneceksiniz.

İpucu

PostgreSQL ile bir Django Uygulaması oluşturmak istiyorsanız PostgreSQL ile Django web uygulaması dağıtma öğreticisini inceleyin.

Önkoşullar

Bu hızlı başlangıç için ihtiyacınız olan:

Veritabanı bağlantı bilgilerini alma

PostgreSQL için Azure Veritabanı veritabanına Bağlan için tam sunucu adı ve oturum açma kimlik bilgileri gerekir. Bu bilgileri Azure portalından alabilirsiniz.

  1. Azure portalında PostgreSQL için Azure Veritabanı sunucu adınızı arayın ve 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> biçimindedir <ve Yönetici kullanıcı adı her zaman my-admin-username>@<my-server-name> biçimindedir<.

    Yönetici parolanıza da ihtiyacınız vardır. 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> ve <admin-username> Azure portalından kopyaladığınız değerlerle birlikte.
  • <admin-password> öğesini seçin.
  • <database-name>sunucunuzu oluşturduğunuzda postgres adlı varsayılan veritabanı otomatik olarak oluşturulmuştur. SQL komutlarını kullanarak bu veritabanını yeniden adlandırabilir veya yeni bir veritabanı oluşturabilirsiniz.

1. Adım: verileri Bağlan 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ığında aşağıdaki çıkışı üretir:

Komut satırı çıkışı

2. Adım: Verileri okuma

Aşağıdaki kod örneği PostgreSQL için Azure Veritabanı veritabanınıza bağlanır ve

  • cursor.execute komutunu SQL SELECT deyimiyle çalıştırarak verileri okuyun.
  • cursor.fetchall() bir sorguyu kabul eder ve kullanarak yinelemek 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 eklediğiniz bir envanter öğesini silmek için SQL DELETE deyimiyle cursor.execute komutunu ç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ıç sırasında 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