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:
Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
Azure portalını kullanarak PostgreSQL için Azure Veritabanı tek sunucu oluşturma
veya Azure CLI'nız yoksa.Genel veya özel erişim kullanıp kullanmadığınıza bağlı olarak, bağlantıyı etkinleştirmek için aşağıdaki eylemlerden BIRINI tamamlayın.
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ıyı yapılandırma Özel Portal
CLIPython 2.7 veya 3.6+.
En son pip paketi yükleyicisi.
Terminalde veya komut istemi penceresinde kullanarak
pip install psycopg2-binary
psycopg2'yi yükleyin. Daha fazla bilgi için bkz. yüklemepsycopg2
.
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.
Azure portalında PostgreSQL için Azure Veritabanı sunucu adınızı arayın ve 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> 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.
Ö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
- psycopg2.connect işlevidir ve SQL INSERT deyimiyle verileri yükler.
- cursor.execute işlevi SQL sorgusunu veritabanına karşı 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ığında aşağıdaki çıkışı üretir:
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