Szybki start: nawiązywanie połączeń z danymi w usłudze Azure Database for PostgreSQL i wykonywanie zapytań względem nich za pomocą języka Python — pojedynczy serwer

DOTYCZY: Azure Database for PostgreSQL — pojedynczy serwer

Ważne

Usługa Azure Database for PostgreSQL — pojedynczy serwer znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do usługi Azure Database for PostgreSQL — serwer elastyczny. Aby uzyskać więcej informacji na temat migracji do usługi Azure Database for PostgreSQL — serwer elastyczny, zobacz Co się dzieje z usługą Azure Database for PostgreSQL — pojedynczy serwer?.

W tym przewodniku Szybki start dowiesz się, jak nawiązać połączenie z bazą danych na pojedynczym serwerze usługi Azure Database for PostgreSQL i uruchomić instrukcje SQL w celu wykonywania zapytań przy użyciu języka Python w systemach macOS, Ubuntu Linux lub Windows.

Napiwek

Jeśli chcesz utworzyć aplikację Django przy użyciu bazy danych PostgreSQL, zapoznaj się z samouczkiem Wdrażanie aplikacji internetowej Django za pomocą bazy danych PostgreSQL .

Wymagania wstępne

W tym przewodniku Szybki start potrzebne są następujące elementy:

Uzyskiwanie informacji o połączeniu z bazą danych

Połączenie do bazy danych usługi Azure Database for PostgreSQL wymaga w pełni kwalifikowanej nazwy serwera i poświadczeń logowania. Te informacje można uzyskać w witrynie Azure Portal.

  1. W witrynie Azure Portal wyszukaj i wybierz nazwę serwera usługi Azure Database for PostgreSQL.

  2. Na stronie Przegląd serwera skopiuj w pełni kwalifikowaną nazwę serwera i nazwę użytkownika Administracja. W pełni kwalifikowana nazwa serwera jest zawsze w postaci <my-server-name.postgres.database.azure.com>, a nazwa użytkownika Administracja jest zawsze w postaci <my-admin-username>@<my-server-name>.

    Potrzebne jest również hasło administratora. Jeśli go zapomnisz, możesz zresetować ją z tej strony.

    Nazwa serwera usługi Azure Database for PostgreSQL

Ważne

Zastąp następujące wartości:

  • <server-name> oraz <admin-username> wartości skopiowane z witryny Azure Portal.
  • <admin-password> przy użyciu hasła serwera.
  • <database-name> domyślna baza danych o nazwie postgres została automatycznie utworzona podczas tworzenia serwera. Możesz zmienić nazwę tej bazy danych lub utworzyć nową bazę danych przy użyciu poleceń SQL.

Krok 1. Połączenie i wstawianie danych

Poniższy przykład kodu nawiązuje połączenie z bazą danych usługi Azure Database for PostgreSQL przy użyciu polecenia

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 pomyślnym uruchomieniu kodu generuje następujące dane wyjściowe:

Dane wyjściowe wiersza polecenia

Krok 2. Odczytywanie danych

Poniższy przykład kodu nawiązuje połączenie z bazą danych usługi Azure Database for PostgreSQL i używa ich

  • cursor.execute z instrukcją SQL SELECT w celu odczytu danych.
  • cursor.fetchall() akceptuje zapytanie i zwraca zestaw wyników w celu iteracji przy użyciu polecenia

# 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. Aktualizowanie danych

W poniższym przykładzie kodu użyto instrukcji cursor.execute z instrukcją SQL UPDATE w celu zaktualizowania danych.


# 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. Usuwanie danych

Poniższy przykład kodu uruchamia polecenie cursor.execute z instrukcją SQL DELETE , aby usunąć wcześniej wstawiony element spisu.


# Delete data row from table

cursor.execute("DELETE FROM inventory WHERE name = %s;", ("orange",))
print("Deleted 1 row of data")

Czyszczenie zasobów

Aby wyczyścić wszystkie zasoby używane w tym przewodniku Szybki start, usuń grupę zasobów przy użyciu następującego polecenia:

az group delete \
    --name $AZ_RESOURCE_GROUP \
    --yes

Następne kroki