Python MySQL - Seleccionar datos
Puede recuperar / buscar datos de una tabla en MySQL usando la consulta SELECT. Esta consulta / declaración devuelve el contenido de la tabla especificada en forma tabular y se llama como conjunto de resultados.
Sintaxis
A continuación se muestra la sintaxis de la consulta SELECT:
SELECT column1, column2, columnN FROM table_name;
Ejemplo
Supongamos que hemos creado una tabla en MySQL con el nombre cricketers_data como -
CREATE TABLE cricketers_data(
First_Name VARCHAR(255),
Last_Name VARCHAR(255),
Date_Of_Birth date,
Place_Of_Birth VARCHAR(255),
Country VARCHAR(255)
);
Y si hemos insertado 5 registros usando instrucciones INSERT como:
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');
La siguiente consulta recupera los valores FIRST_NAME y Country de la tabla.
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)
También puede recuperar todos los valores de cada registro usando * instalados del nombre de las columnas como -
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)
Leer datos de una tabla MYSQL usando Python
READ Operar en cualquier base de datos significa obtener información útil de la base de datos. Puede obtener datos de MYSQL utilizando elfetch() método proporcionado por mysql-connector-python.
La clase cursor.MySQLCursor proporciona tres métodos a saberfetchall(), fetchmany() y, fetchone() dónde,
los fetchall()El método recupera todas las filas del conjunto de resultados de una consulta y las devuelve como una lista de tuplas. (Si ejecutamos esto después de recuperar algunas filas, devuelve las restantes).
los fetchone() El método obtiene la siguiente fila en el resultado de una consulta y la devuelve como una tupla.
los fetchmany() El método es similar al fetchone () pero recupera el siguiente conjunto de filas en el conjunto de resultados de una consulta, en lugar de una sola fila.
Note - Un conjunto de resultados es un objeto que se devuelve cuando se utiliza un objeto de cursor para consultar una tabla.
rowcount - Este es un atributo de solo lectura y devuelve el número de filas que fueron afectadas por un método execute ().
Ejemplo
El siguiente ejemplo recupera todas las filas de la tabla EMPLOYEE usando la consulta SELECT y del conjunto de resultados obtenido inicialmente, estamos recuperando la primera fila usando el método fetchone () y luego recuperando las filas restantes usando el método fetchall ().
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()
Salida
('Krishna', 'Sharma', 19, 'M', 2000.0)
[('Raj', 'Kandukuri', 20, 'M', 7000.0), ('Ramya', 'Ramapriya', 25, 'M', 5000.0)]
El siguiente ejemplo recupera las dos primeras filas de la tabla EMPLOYEE utilizando el método fetchmany ().
Ejemplo
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()
Salida
[('Krishna', 'Sharma', 19, 'M', 2000.0), ('Raj', 'Kandukuri', 20, 'M', 7000.0)]