Rövid útmutató: Adatok csatlakoztatása és lekérdezése a Python használatával az Egykiszolgálós Azure Database for PostgreSQL-ben
A KÖVETKEZŐKRE VONATKOZIK: Azure Database for PostgreSQL – Önálló kiszolgáló
Fontos
Azure Database for PostgreSQL – Az önálló kiszolgáló a kivezetési útvonalon van. Határozottan javasoljuk, hogy frissítsen az Azure Database for PostgreSQL rugalmas kiszolgálóra. A rugalmas Azure Database for PostgreSQL-kiszolgálóra való migrálással kapcsolatos további információkért lásd: Mi történik az önálló Azure Database for PostgreSQL-kiszolgálóval?
Ebben a rövid útmutatóban megtudhatja, hogyan csatlakozhat az önálló Azure Database for PostgreSQL-kiszolgálón található adatbázishoz, és hogyan futtathat SQL-utasításokat a Python macOS, Ubuntu Linux vagy Windows rendszeren történő lekérdezéséhez.
Tipp.
Ha Django-alkalmazást szeretne létrehozni a PostgreSQL-lel, akkor tekintse meg az oktatóanyagot, és telepítsen egy Django-webalkalmazást a PostgreSQL-oktatóanyaggal .
Előfeltételek
Ehhez a rövid útmutatóhoz a következőkre van szüksége:
Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
Önálló Azure Database for PostgreSQL-kiszolgáló létrehozása az Azure Portal használatával
vagy az Azure CLI-t , ha nincs ilyenje.Attól függően, hogy nyilvános vagy privát hozzáférést használ-e, végezze el az alábbi műveletek egyikét a kapcsolat engedélyezéséhez.
Művelet Kapcsolati mód Útmutató Tűzfalszabályok konfigurálása Nyilvános Portál
Parancssori felületSzolgáltatásvégpont konfigurálása Nyilvános Portál
Parancssori felületPrivát hivatkozás konfigurálása Személyes Portál
Parancssori felületPython 2.7 vagy 3.6+.
A pipcsomag legújabb telepítője.
Telepítse a psycopg2-t egy terminál vagy parancssori ablak használatával
pip install psycopg2-binary
. További információkért tekintse meg a telepítés módjátpsycopg2
.
Adatbázis-kapcsolat adatainak lekérése
Az Azure Database for PostgreSQL-adatbázisba való Csatlakozás a kiszolgáló teljes nevét és bejelentkezési hitelesítő adatait kell megadni. Ezeket az információkat az Azure Portalon szerezheti be.
Az Azure Portalon keresse meg és válassza ki az Azure Database for PostgreSQL-kiszolgáló nevét.
A kiszolgáló Áttekintés lapján másolja ki a teljes kiszolgálónevetés a Rendszergazda felhasználónevet. A teljes kiszolgálónév mindig a my-server-name.postgres.database.azure.com> formátumú<, és a Rendszergazda felhasználónév mindig a my-admin-username>@<my-server-name> formátumú<.
Szüksége van a rendszergazdai jelszavára is. Ha elfelejti, alaphelyzetbe állíthatja erről a lapról.
Fontos
Cserélje le a következő értékeket:
<server-name>
és<admin-username>
az Azure Portalról másolt értékekkel.<admin-password>
a kiszolgáló jelszavával.<database-name>
a kiszolgáló létrehozásakor automatikusan létre lett hozva egy postgres nevű alapértelmezett adatbázis. Átnevezheti az adatbázist, vagy létrehozhat egy új adatbázist SQL-parancsokkal.
1. lépés: adatok Csatlakozás és beszúrása
Az alábbi példakód az Azure Database for PostgreSQL-adatbázishoz csatlakozik
- psycopg2.connect függvény, és sql IN Standard kiadás RT utasítással tölti be az adatokat.
- A cursor.execute függvény végrehajtja az SQL-lekérdezést az adatbázison.
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()
Ha a kód sikeresen fut, a következő kimenetet hozza létre:
2. lépés: Adatok olvasása
Az alábbi példakód az Azure Database for PostgreSQL-adatbázishoz csatlakozik, és
- az adatok olvasásához a cursor.execute parancsot az SQL Standard kiadás LECT utasítással hajtja végre.
- A cursor.fetchall() egy lekérdezést fogad el, és visszaad egy eredményhalmazt, amely iterátumot ad vissza a következő használatával:
# 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. lépés: Adatok frissítése
Az alábbi példakód a cursor.execute parancsot használja az SQL UPDATE utasítással az adatok frissítéséhez.
# 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. lépés: Adatok törlése
Az alábbi példakód futtatja a cursor.execute parancsot az SQL DELETE utasítással a korábban beszúrt készletelem törléséhez.
# Delete data row from table
cursor.execute("DELETE FROM inventory WHERE name = %s;", ("orange",))
print("Deleted 1 row of data")
Az erőforrások eltávolítása
A rövid útmutató során használt összes erőforrás törléséhez törölje az erőforráscsoportot az alábbi paranccsal:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes