Python MySQL - Daten auswählen

Mit der SELECT-Abfrage können Sie Daten aus einer Tabelle in MySQL abrufen / abrufen. Diese Abfrage / Anweisung gibt den Inhalt der angegebenen Tabelle in Tabellenform zurück und wird als Ergebnismenge aufgerufen.

Syntax

Es folgt die Syntax der SELECT-Abfrage -

SELECT column1, column2, columnN FROM table_name;

Beispiel

Angenommen, wir haben in MySQL eine Tabelle mit dem Namen cricketers_data als - erstellt

CREATE TABLE cricketers_data(
   First_Name VARCHAR(255),
   Last_Name VARCHAR(255),
   Date_Of_Birth date,
   Place_Of_Birth VARCHAR(255),
   Country VARCHAR(255)
);

Und wenn wir 5 Datensätze mit INSERT-Anweisungen als - eingefügt haben

insert into cricketers_data values('Shikhar', 'Dhawan', DATE('1981-12-05'), 'Delhi', 'India');
insert into cricketers_data values('Jonathan', 'Trott', DATE('1981-04-22'), 'CapeTown', 'SouthAfrica');
insert into cricketers_data values('Kumara', 'Sangakkara', DATE('1977-10-27'), 'Matale', 'Srilanka');
insert into cricketers_data values('Virat', 'Kohli', DATE('1988-11-05'), 'Delhi', 'India');
insert into cricketers_data values('Rohit', 'Sharma', DATE('1987-04-30'), 'Nagpur', 'India');

Die folgende Abfrage ruft die Werte FIRST_NAME und Country aus der Tabelle ab.

mysql> select FIRST_NAME, Country from cricketers_data;
+------------+-------------+
| FIRST_NAME | Country     | 
+------------+-------------+
| Shikhar    | India       |
| Jonathan   | SouthAfrica |
| Kumara     | Srilanka    |
| Virat      | India       |
| Rohit      | India       |
+------------+-------------+
5 rows in set (0.00 sec)

Sie können auch alle Werte jedes Datensatzes mit * abrufen, wobei der Name der Spalten als - angegeben wird

mysql> SELECT * from cricketers_data;
+------------+------------+---------------+----------------+-------------+
| First_Name | Last_Name  | Date_Of_Birth | Place_Of_Birth | Country     |
+------------+------------+---------------+----------------+-------------+
| Shikhar    | Dhawan     | 1981-12-05    | Delhi          | India       |
| Jonathan   | Trott      | 1981-04-22    | CapeTown       | SouthAfrica |
| Kumara     | Sangakkara | 1977-10-27    | Matale         | Srilanka    |
| Virat      | Kohli      | 1988-11-05    | Delhi          | India       |
| Rohit      | Sharma     | 1987-04-30    | Nagpur         | India       |
+------------+------------+---------------+----------------+-------------+
5 rows in set (0.00 sec)

Lesen von Daten aus einer MYSQL-Tabelle mit Python

READ Operation für eine beliebige Datenbank bedeutet, einige nützliche Informationen aus der Datenbank abzurufen. Sie können Daten aus MYSQL mit dem abrufenfetch() Methode von der MySQL-Connector-Python zur Verfügung gestellt.

Die cursor.MySQLCursor- Klasse bietet nämlich drei Methodenfetchall(), fetchmany() und, fetchone() wo,

  • Das fetchall()Die Methode ruft alle Zeilen in der Ergebnismenge einer Abfrage ab und gibt sie als Liste der Tupel zurück. (Wenn wir dies ausführen, nachdem wir einige Zeilen abgerufen haben, werden die verbleibenden zurückgegeben.)

  • Das fetchone() Die Methode ruft die nächste Zeile im Ergebnis einer Abfrage ab und gibt sie als Tupel zurück.

  • Das fetchmany() Die Methode ähnelt der fetchone (), ruft jedoch anstelle einer einzelnen Zeile die nächste Reihe von Zeilen in der Ergebnismenge einer Abfrage ab.

Note - Eine Ergebnismenge ist ein Objekt, das zurückgegeben wird, wenn ein Cursorobjekt zum Abfragen einer Tabelle verwendet wird.

rowcount - Dies ist ein schreibgeschütztes Attribut und gibt die Anzahl der Zeilen zurück, die von einer execute () -Methode betroffen waren.

Beispiel

Im folgenden Beispiel werden alle Zeilen der EMPLOYEE-Tabelle mit der SELECT-Abfrage abgerufen. Aus der erhaltenen Ergebnismenge wird zunächst die erste Zeile mit der Methode fetchone () und anschließend die verbleibenden Zeilen mit der Methode fetchall () abgerufen.

import mysql.connector
#establishing the connection
conn = mysql.connector.connect(
   user='root', password='password', host='127.0.0.1', database='mydb'
)

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Retrieving single row
sql = '''SELECT * from EMPLOYEE'''

#Executing the query
cursor.execute(sql)

#Fetching 1st row from the table
result = cursor.fetchone();
print(result)

#Fetching 1st row from the table
result = cursor.fetchall();
print(result)

#Closing the connection
conn.close()

Ausgabe

('Krishna', 'Sharma', 19, 'M', 2000.0)
[('Raj', 'Kandukuri', 20, 'M', 7000.0), ('Ramya', 'Ramapriya', 25, 'M', 5000.0)]

Das folgende Beispiel ruft die ersten beiden Zeilen der EMPLOYEE-Tabelle mit der Methode fetchmany () ab.

Beispiel

import mysql.connector
#establishing the connection
conn = mysql.connector.connect(
   user='root', password='password', host='127.0.0.1', database='mydb'
)

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Retrieving single row
sql = '''SELECT * from EMPLOYEE'''

#Executing the query
cursor.execute(sql)

#Fetching 1st row from the table
result = cursor.fetchmany(size =2);
print(result)

#Closing the connection
conn.close()

Ausgabe

[('Krishna', 'Sharma', 19, 'M', 2000.0), ('Raj', 'Kandukuri', 20, 'M', 7000.0)]