Python MySQL - Límite
Al buscar registros si desea limitarlos a un número en particular, puede hacerlo utilizando la cláusula LIMIT de MYSQL.
Ejemplo
Supongamos que hemos creado una tabla en MySQL con el nombre EMPLOYEES como -
mysql> CREATE TABLE EMPLOYEE(
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT
);
Query OK, 0 rows affected (0.36 sec)
Y si hemos insertado 4 registros usando instrucciones INSERT como:
mysql> INSERT INTO EMPLOYEE VALUES
('Krishna', 'Sharma', 19, 'M', 2000),
('Raj', 'Kandukuri', 20, 'M', 7000),
('Ramya', 'Ramapriya', 25, 'F', 5000),
('Mac', 'Mohan', 26, 'M', 2000);
La siguiente instrucción SQL recupera los dos primeros registros de la tabla Empleado utilizando la cláusula LIMIT.
SELECT * FROM EMPLOYEE LIMIT 2;
+------------+-----------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE | SEX | INCOME |
+------------+-----------+------+------+--------+
| Krishna | Sharma | 19 | M | 2000 |
| Raj | Kandukuri | 20 | M | 7000 |
+------------+-----------+------+------+--------+
2 rows in set (0.00 sec)
Limitar cláusula usando python
Si invoca el execute() en el objeto cursor al pasar la consulta SELECT junto con la cláusula LIMIT, puede recuperar el número requerido de registros.
Para eliminar una tabla de una base de datos MYSQL usando python, invoque el execute() en el objeto cursor y pasarle la sentencia drop como parámetro.
Ejemplo
El siguiente ejemplo de Python crea y llena una tabla con el nombre EMPLOYEE y, usando la cláusula LIMIT, obtiene los dos primeros registros de la misma.
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 LIMIT 2'''
#Executing the query
cursor.execute(sql)
#Fetching the data
result = cursor.fetchall();
print(result)
#Closing the connection
conn.close()
Salida
[('Krishna', 'Sharma', 26, 'M', 2000.0), ('Raj', 'Kandukuri', 20, 'M', 7000.0)]
LIMIT con OFFSET
Si es necesario limitar los registros a partir de registro enésima (no 1 st ), puede hacerlo, uso de desplazamiento a lo largo del fin de carrera.
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 LIMIT 2 OFFSET 2'''
#Executing the query
cursor.execute(sql)
#Fetching the data
result = cursor.fetchall();
print(result)
#Closing the connection
conn.close()
Salida
[('Ramya', 'Ramapriya', 29, 'F', 5000.0), ('Mac', 'Mohan', 26, 'M', 2000.0)]