Python MySQL - Sınır

Kayıtları alırken belirli bir sayı ile sınırlandırmak istiyorsanız, bunu MYSQL'in LIMIT cümlesini kullanarak yapabilirsiniz.

Misal

MySQL'de EMPLOYEES adında bir tablo oluşturduğumuzu varsayalım -

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)

Ve INSERT ifadelerini kullanarak 4 kayıt eklediysek -

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);

Aşağıdaki SQL ifadesi, LIMIT yan tümcesini kullanarak Çalışan tablosunun ilk iki kaydını alır.

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)

Python Kullanarak Sınırlama Maddesi

Eğer çağırırsanız execute() yöntemini imleç nesnesi üzerinde SELECT sorgusunu LIMIT yan tümcesi ile birlikte ileterek, gerekli sayıda kaydı alabilirsiniz.

Misal

Aşağıdaki python örneği, EMPLOYEE adıyla bir tablo oluşturur ve doldurur ve LIMIT cümlesini kullanarak ilk iki kaydını getirir.

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()

Çıktı

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

OFFSET ile LIMIT

Kayıtları n'inci kayıttan (1. değil) başlayarak sınırlamanız gerekiyorsa, OFFSET'i LIMIT ile birlikte kullanarak yapabilirsiniz.

Example

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()

Output

[('Ramya', 'Ramapriya', 29, 'F', 5000.0), ('Mac', 'Mohan', 26, 'M', 2000.0)]