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:

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.

  1. V Azure Portalvyhledejte a vyberte název vašeho Azure Database for PostgreSQL serveru.

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

    Název serveru Azure Database for PostgreSQL

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í

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:

Výstup příkazového řádku

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á


# 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

Další kroky

Nemůžete najít, co hledáte? Dejte nám prosím jistotu.