Python MySQL - Sınır
Kayıtları alırken belirli bir sayı ile sınırlamak istiyorsanız, bunu MYSQL'in LIMIT tümcesini kullanarak yapabilirsiniz.
Misal
MySQL'de EMPLOYEES adıyla 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 tümceyi sınırlayın
Eğer çağırırsanız execute() SELECT sorgusunu LIMIT yan tümcesi ile birlikte geçirerek imleç nesnesi üzerinde yöntem, gerekli sayıda kaydı alabilirsiniz.
Python kullanarak bir MYSQL veritabanından bir tablo bırakmak için execute() yöntemini imleç nesnesine yerleştirin ve drop deyimini bir parametre olarak ona iletin.
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
Eğer n'inci kaydı (değil 1 başlayarak kayıtları sınırlamak gerekirse st ) kullanarak, LIMIT birlikte OFFSET kullanarak, bunu yapabilirsiniz.
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()
Çıktı
[('Ramya', 'Ramapriya', 29, 'F', 5000.0), ('Mac', 'Mohan', 26, 'M', 2000.0)]