Python MySQL - Limit 限制子句
在获取记录时,如果您想用特定数字限制它们,可以使用 MYSQL 的 LIMIT 子句来实现。
示例
假设我们在 MySQL 中创建了一个名为 EMPLOYEES 的表,如下所示 −
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)
如果我们使用 INSERT 语句向其中插入 4 条记录,如下所示 −
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);
以下 SQL 语句使用 LIMIT 子句检索 Employee 表的前两条记录。
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 的 Limit 子句
如果通过将 SELECT 查询与 LIMIT 子句一起传递,在游标对象上调用 execute() 方法,则可以检索所需数量的记录。
要使用 Python 从 MYSQL 数据库中删除表,请在游标对象上调用 execute() 方法,并将 drop 语句作为参数传递给它。
示例
以下 Python 示例创建并填充名为 EMPLOYEE 的表,并使用 LIMIT 子句获取该表的前两个记录。
import mysql.connector #建立连接 conn = mysql.connector.connect( user='root', password='password', host='127.0.0.1', database='mydb') #使用 cursor() 方法创建游标对象 cursor = conn.cursor() #检索单行 sql = '''SELECT * from EMPLOYEE LIMIT 2''' #执行查询 cursor.execute(sql) #获取数据 result = cursor.fetchall(); print(result) #关闭连接 conn.close()
输出
[('Krishna', 'Sharma', 26, 'M', 2000.0), ('Raj', 'Kandukuri', 20, 'M', 7000.0)]
LIMIT 与 OFFSET
如果您需要限制从第 n 条记录(而不是第 1 条记录)开始的记录,则可以将 OFFSET 与 LIMIT 结合使用。
import mysql.connector #建立连接 conn = mysql.connector.connect( user='root', password='password', host='127.0.0.1', database='mydb') #使用 cursor() 方法创建游标对象 cursor = conn.cursor() #检索单行 sql = '''SELECT * from EMPLOYEE LIMIT 2 OFFSET 2''' #执行查询 cursor.execute(sql) #获取数据 result = cursor.fetchall(); print(result) #关闭连接 conn.close()
输出
[('Ramya', 'Ramapriya', 29, 'F', 5000.0), ('Mac', 'Mohan', 26, 'M', 2000.0)]