Rychlý Start: použití Pythonu k připojení a dotazování dat v Azure Database for PostgreSQL-Single server
v tomto rychlém startu se dozvíte, jak se připojit k databázi na Azure Database for PostgreSQL jednom serveru a spustit SQL příkazy pro dotazování pomocí pythonu na macOS, Ubuntu Linux nebo Windows.
Tip
Pokud chcete vytvořit aplikaci Django s PostgreSQL, pak ji vyřadíte pomocí kurzu nasazení webové aplikace Django s využitím PostgreSQL.
Požadavky
Pro tento rychlý Start budete potřebovat:
Účet Azure s aktivním předplatným. Vytvořte si účet zdarma.
Vytvoření jednoho serveru Azure Database for PostgreSQL pomocí Azure Portal
nebo Azure CLI , pokud ho ještě nemáte.Na základě toho, jestli používáte veřejný nebo privátní přístup, proveďte jednu z následujících akcí, aby se povolilo 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 odkazu Privátní Azure Portal
Rozhraní příkazového řádkuPython 2,7 nebo 3.6 +.
Poslední instalační program balíčku PIP
Nainstalujte psycopg2 pomocí
pip install psycopg2-binaryokna terminálu nebo příkazového řádku. Další informace najdete v tématu instalacepsycopg2nástroje.
Získat informace o připojení databáze
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 Azure Portal.
V Azure Portalvyhledejte a vyberte název vašeho Azure Database for PostgreSQL serveru.
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 tvaru <my-server-name> . Postgres.Database.Azure.com a uživatelské jméno správce je vždy ve tvaru <my-admin-username>@<my-server-name> .
Budete také potřebovat heslo správce. Pokud ho zapomenete, můžete ho resetovat 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 Azure Portal.<admin-password>se svým heslem na serveru.<database-name>výchozí databáze s názvem Postgres byla automaticky vytvořena při vytvoření serveru. 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řipojuje k vaší Azure Database for PostgreSQL databázi pomocí
- psycopg2. connect – funkce a načte data pomocí příkazu INSERT SQL.
- funkce cursor. execute spustí 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()
Po úspěšném spuštění kódu se vytvoří následující výstup:
Máte problémy? Dejte nám prosím jistotu
Krok 2: čtení dat
Následující příklad kódu se připojuje k vaší Azure Database for PostgreSQL databázi a používá
- cursor. execute s příkazem SQL select pro čtení dat
- Cursor. fetchall () přijme dotaz a vrátí sadu výsledků pro iteraci pomocí
# 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])))
Máte problémy? Dejte nám prosím jistotu
Krok 3: aktualizace dat
následující příklad kódu používá k aktualizaci dat příkaz cursor. execute s příkazem SQL update .
# 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")
Máte problémy? Dejte nám prosím jistotu
Krok 5: odstranění dat
následující příklad kódu spustí příkaz cursor. execute s příkazem SQL delete k odstranění položky 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")
Máte problémy? Dejte nám prosím jistotu
Vyčištění prostředků
Pokud chcete vyčistit všechny prostředky používané v rámci tohoto rychlého startu, odstraňte skupinu prostředků pomocí následujícího příkazu:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes