Voraussetzungen: Matplotlib in Python , MySQL

Bei der Arbeit mit Python müssen wir mit Datenbanken arbeiten, die unterschiedlicher Art sein können, wie MySQL, SQLite, NoSQL usw. In diesem Artikel werden wir uns darauf freuen, wie man MySQL-Datenbanken mit MySQL Connector/Python verbindet. Das MySQL-Connector-Modul von Python wird verwendet, um MySQL-Datenbanken mit den Python-Programmen zu verbinden, indem es die Python-Datenbank-API-Spezifikation v2.0 (PEP 249) verwendet. Es verwendet die Python-Standardbibliothek und hat keine Abhängigkeiten.

In diesem Artikel werden wir diskutieren, wie Daten aus der MySQL-Datenbank mithilfe von matploltlib in Python visualisiert werden. Um diese Aufgabe auszuführen, müssen wir nur ein Modul namens mysqlconnector installieren, das mit installiert werden kann 

pip install mysqlconnector

Um nun die Matplotlib-Bibliothek in Python zu verwenden, müssen wir sie auch installieren. Wir können es installieren, indem wir Folgendes verwenden: 

pip install matplotlib

Zusätzlich zu diesen Modulen werden wir auch ein weiteres Modul installieren, nämlich numpy , das als Hilfsmodul für ein effizientes Arbeiten mit Matplotlib fungiert. Andererseits hat NumPy einen enormen Nutzen bei der Durchführung mathematischer und logischer Operationen an Arrays und bei der Behandlung mathematischer Berechnungen.

Geben Sie die obigen Befehle in Ihre Eingabeaufforderung des Windows-Betriebssystems ein, um die erforderlichen Module zu installieren.

Um nun die installierten Module zu verwenden, müssen wir sie in Python importieren. Dies kann wie folgt erfolgen:

import numpy as np 

Hier ist np einfach ein Alias ​​für numpy. Anstelle von np können wir jeden beliebigen Namen nehmen. Es wird verwendet, damit wir np anstelle von numpy schreiben können.

import matplotlib.pyplot as plt  

matplotlib.pyplot ist eine Sammlung von Funktionen, die matplotlib zum Laufen bringen. Wenn Sie es als plt importieren, können wir plt anstelle von matplotlib.pyplot schreiben.

Schritte zum Verbinden einer MySQL-Datenbank mit Python:

  • Das erste, was wir tun müssen, ist, mysqlconnector zu importieren, den wir zuvor installiert haben. Dies kann durch Schreiben erfolgen:
import mysql.connector
  • Jetzt können wir eine Variable erstellen, sagen wir mydb, die verwendet wird, um das Ergebnis der Verbindung zu speichern. Wir können also MySQL mit Python verbinden, indem wir die Methode connect() verwenden, die zur Klasse mysql.connector gehört. Dies kann wie folgt geschehen:

mydb=mysql.connector.connect(host=“localhost“,user=“root“,password=“Your_Password“,database=“Database_Name“)

  • Wie im obigen Codeabschnitt erwähnt, erfordert diese Methode connect() einige Argumente, die wie folgt lauten:
    • host , der Ihr localhost oder ein anderer Host sein kann.
    • user , der kein anderer als der Benutzername der mysql-Datenbank ist.
    • Passwort , das Ihr Passwort in der MySQL-Datenbank ist.
    • database Dies ist der Name der Datenbank, aus der die Daten abgerufen werden sollen.

An dieser Stelle sind wir mit der Verbindung der MySQL-Datenbank mit Python fertig. Jetzt möchten wir Informationen aus der Datenbank abrufen, also erstellen wir eine Variable, sagen wir mycursor, die den Cursor der aktuellen Datenbank speichert. Mit einem Cursor können Sie eine Reihe von Zeilen durchlaufen, die von einer Abfrage zurückgegeben werden, und jede Zeile verarbeiten, um die gewünschten Informationen zu erhalten.

mycursor=mydb.cursor()

Zeichnen Sie bei gegebenem Schülerdatensatz in der MySQL-Datenbank ein Diagramm zwischen dem Schülernamen und den von den Schülern erhaltenen Noten. Um das obige Problem zu lösen, müssen wir zuerst MySQL mit Python verbinden.

Zu verwendende Mustertabelle:

Um nun die gewünschte Abfrage zu erhalten, verwenden wir die Methode execute() von mycursor, die die SQL-Abfrage als Argument verwendet, und wir speichern das Ergebnis der Abfrage mit fetchall von mycursor. Dies kann wie folgt erfolgen:

Python3

mycursor.execute("select Name, Marks from student_marks")
result = mycursor.fetchall

Wie Sie in der obigen Abfrage sehen können, versuchen wir, den Schülernamen und die Schülernoten aus der Tabelle student_marks abzurufen. Jetzt speichern wir den Schülernamen und seine jeweiligen Markierungen in zwei separaten Listen, damit wir sie in einem Balkendiagramm darstellen können.

Python3

Names = []
Marks = []
  
for i in mycursor:
    Names.append(i[0])
    Marks.append(i[1])
  
print("Name of Students = ", Names)
print("Marks of Students = ", Marks)

Visualisierung von Daten mit Matplotlib:

Python3

# plt.bar to plot a bar graph 
# with given values
plt.bar(Names, Marks)
  
# Setting count of values in 
# y-axis
plt.ylim(0, 5)
  
# setting xlabel of graph
plt.xlabel("Name of Students")
  
# setting ylabel of graph
plt.ylabel("Marks of Students")
  
# setting tile of graph
plt.title("Student's Information")
  
# show() method to display the graph
plt.show()

Unten ist die vollständige Implementierung des obigen Ansatzes:

Python3

# Connecting to mysql database
import mysql.connector
import numpy as np
import matplotlib.pyplot as plt
  
  
mydb = mysql.connector.connect(host="localhost", 
                               user="root", 
                               password="password", 
                               database="student_info")
mycursor = mydb.cursor()
  
# Fecthing Data From mysql to my python progame
mycursor.execute("select Name, Marks from student_marks")
result = mycursor.fetchall
  
Names = []
Marks = []
  
for i in mycursor:
    Names.append(i[0])
    Marks.append(i[1])
      
print("Name of Students = ", Names)
print("Marks of Students = ", Marks)
  
  
# Visulizing Data using Matplotlib
plt.bar(Names, Marks)
plt.ylim(0, 5)
plt.xlabel("Name of Students")
plt.ylabel("Marks of Students")
plt.title("Student's Information")
plt.show()

Ausgabe: