Rychlý start: Použití Pythonu k připojení a dotazování dat na jednoúčelovém serveru Azure Database for PostgreSQL
PLATÍ PRO: Azure Database for PostgreSQL – Jednoúčelový server
Důležité
Jednoúčelový server Azure Database for PostgreSQL je na cestě vyřazení. Důrazně doporučujeme upgradovat na flexibilní server Azure Database for PostgreSQL. Další informace o migraci na flexibilní server Azure Database for PostgreSQL najdete v tématu Co se děje s jednoúčelovým serverem Azure Database for PostgreSQL?
V tomto rychlém startu se dozvíte, jak se připojit k databázi na jednoúčelovém serveru Azure Database for PostgreSQL a spustit příkazy SQL pro dotazování pomocí Pythonu v systému macOS, Ubuntu Linux nebo Windows.
Tip
Pokud chcete vytvořit aplikaci Django s PostgreSQL, pak si projděte kurz nasazení webové aplikace Django s PostgreSQL .
Požadavky
Pro účely tohoto rychlého startu potřebujete:
Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
Vytvoření jednoúčelového serveru Azure Database for PostgreSQL pomocí webu Azure Portal
nebo Azure CLI , pokud ho nemáte.Na základě toho, jestli používáte veřejný nebo privátní přístup, dokončete jednu z následujících akcí a povolte připojení.
Akce Metoda připojení Praktičtí průvodci Konfigurace pravidel brány firewall Veřejná Azure Portal
Rozhraní příkazového řádkuKonfigurace koncového bodu služby Veřejná Azure Portal
Rozhraní příkazového řádkuKonfigurace privátního propojení Privátní Azure Portal
Rozhraní příkazového řádkuPython 2.7 nebo 3.6+.
Nejnovější instalační program balíčku pip .
Nainstalujte psycopg2 pomocí
pip install psycopg2-binary
terminálu nebo okna příkazového řádku. Další informace naleznete v tématu instalacepsycopg2
.
Získání informací o připojení k databázi
Připojení k databázi Azure Database for PostgreSQL vyžaduje plně kvalifikovaný název serveru a přihlašovací údaje. Tyto informace můžete získat z webu Azure Portal.
Na webu Azure Portal vyhledejte a vyberte název serveru Azure Database for PostgreSQL.
Na stránce Přehled serveru zkopírujte plně kvalifikovaný název serveru a uživatelské jméno správce. Plně kvalifikovaný název serveru je vždy ve formátu <my-server-name.postgres.database.azure.com> a uživatelské jméno správce je vždy ve formátu <my-admin-username>@<my-server-name>.
Potřebujete také heslo správce. Pokud ho zapomenete, můžete ho obnovit z této stránky.
Důležité
Nahraďte následující hodnoty:
<server-name>
a<admin-username>
s hodnotami, které jste zkopírovali z webu Azure Portal.<admin-password>
s heslem serveru.<database-name>
Při vytváření serveru se automaticky vytvořila výchozí databáze s názvem postgres . Tuto databázi můžete přejmenovat nebo vytvořit novou databázi pomocí příkazů SQL.
Krok 1: Připojení a vložení dat
Následující příklad kódu se připojí k databázi Azure Database for PostgreSQL pomocí příkazu .
- psycopg2.connect a načte data pomocí příkazu SQL INSERT .
- cursor.execute funkce provede dotaz SQL na databázi.
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()
Když se kód úspěšně spustí, vytvoří následující výstup:
Krok 2: Čtení dat
Následující příklad kódu se připojí k databázi Azure Database for PostgreSQL a použije ji.
- cursor.execute s příkazem SQL SELECT ke čtení dat.
- cursor.fetchall() přijímá dotaz a vrací sadu výsledků pro iteraci pomocí příkazu
# 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])))
Krok 3: Aktualizace dat
Následující příklad kódu používá cursor.execute s příkazem SQL UPDATE k aktualizaci dat.
# 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")
Krok 5: Odstranění dat
Následující příklad kódu spustí cursor.execute s příkazem SQL DELETE a odstraní položku inventáře, kterou jste předtím vložili.
# Delete data row from table
cursor.execute("DELETE FROM inventory WHERE name = %s;", ("orange",))
print("Deleted 1 row of data")
Vyčištění prostředků
Pokud chcete vyčistit všechny prostředky použité během tohoto rychlého startu, odstraňte skupinu prostředků pomocí následujícího příkazu:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes