Abfragen an die Datenbank in Python senden

Nach dem Verbinden mit der Datenbank können Abfragen an sie gesendet werden. Dies geschieht mit der Variable query, in der die SQL-Abfrage zum Abrufen aller Daten aus der Tabelle users geschrieben wird. Diese Variable sollte im Block mit der Variable connection geschrieben werden:

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

Als nächstes schreiben wir eine weitere with-Konstruktion für die Arbeit mit dem MySQLConnection-Objekt, das in der Variable connection gespeichert ist. Auf dieses Objekt müssen nacheinander spezielle Methoden angewendet werden. Die erste davon ist die Methode cursor, die aus dem MySQLConnection-Objekt ein CMySQLCursor-Objekt erstellt. Auf dieses wird wiederum die Methode execute angewendet, die die Ausführung der SQL-Abfrage sicherstellt, die ihr als Parameter übergeben wurde:

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

Als nächstes müssen alle Daten mit der Methode fetchall extrahiert und in der Variable result gespeichert werden. Um die erhaltenen Daten auszugeben, müssen sie durch eine for-Schleife geschickt werden:

pythontry:
  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)

Der vollständige Code sieht dann so aus:

pythontry:
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)

Nach der Ausführung des Codes werden alle Datensätze als Tupel in der Konsole ausgegeben:

python(1, 'user1', 23, 400)
(2, 'user2', 25, 500)
(3, 'user3', 23, 500)
(4, 'user4', 30, 900)
(5, 'user5', 27, 500)
(6, 'user6', 28, 900)
Задание 1

Geben Sie alle Daten aus der Tabelle users aus.