⊗pyPmDBSQ 102 of 129 menu

Odesílání dotazů k databázi v Pythonu

Po připojení k databázi jí lze odesílat dotazy. To se provádí pomocí proměnné query, ve které je napsán SQL dotaz pro výpis všech dat z tabulky users. Tuto proměnnou je třeba napsat v bloku s proměnnou connection:

try: with connect( host='localhost', user='root', password='', database='test', ) as connection: query = "SELECT * FROM users" except Error as e: print(e)

Dále napíšeme ještě jednu konstrukci with pro práci s MySQLConnection-objektem, uloženým v proměnné connection. K tomuto objektu je třeba postupně aplikovat speciální metody. První z nich je metoda cursor, která z MySQLConnection-objektu vytváří CMySQLCursor-objekt. K němu naopak je aplikována metoda execute, která zajišťuje provedení SQL dotazu, předaného mu v parametru:

try: with connect( ... ) as connection: query = "SELECT * FROM users" with connection.cursor() as cursor: cursor.execute(query)

Dále je třeba extrahovat všechna data pomocí metody fetchall a zapsat je do proměnné result. A aby bylo možné vypsat získaná data, je třeba je projít cyklem for:

try: with connect( ... ) as connection: query = "SELECT * FROM users" with connection.cursor() as cursor: cursor.execute(query) result = cursor.fetchall() for row in result: print(row)

Úplný kód bude vypadat takto:

try: with connect( host='localhost', user='root', password='', database='test', ) as connection: query = "SELECT * FROM users" with connection.cursor() as cursor: print(cursor) cursor.execute(query) result = cursor.fetchall() for row in result: print(row) except Error as e: print(e)

Po provedení kódu se v konzoli vypíšou všechny záznamy ve formě n-tic:

(1, 'user1', 23, 400) (2, 'user2', 25, 500) (3, 'user3', 23, 500) (4, 'user4', 30, 900) (5, 'user5', 27, 500) (6, 'user6', 28, 900)

Vypište všechna data z tabulky users.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout