Python 数据访问教程

Python 数据访问 - 主页

Python MySQL

Python MySQL - 简介 Python MySQL - 数据库连接 Python MySQL - 创建数据库 Python MySQL - 创建表 Python MySQL - 插入数据 Python MySQL - 选择数据 Python MySQL - Where 子句 Python MySQL - 排序 Python MySQL - 更新表 Python MySQL - 删除数据 Python MySQL - 删除表 Python MySQL - Limit 子句 Python MySQL - 连接 Python MySQL - 游标对象

Python PostgreSQL

Python PostgreSQL - 简介 Python PostgreSQL - 数据库连接 Python PostgreSQL - 创建数据库 Python PostgreSQL - 创建表 Python PostgreSQL - 插入数据 Python PostgreSQL - 选择数据 Python PostgreSQL - Where 子句 Python PostgreSQL - 排序 Python PostgreSQL - 更新表 Python PostgreSQL - 删除数据 Python PostgreSQL - 删除表 Python PostgreSQL - Limit 子句 Python PostgreSQL - 连接 Python PostgreSQL - 游标对象

Python SQLite

Python SQLite - 简介 Python SQLite - 建立连接 Python SQLite - 创建表 Python SQLite - 插入数据 Python SQLite - 选择数据 Python SQLite - Where 子句 Python SQLite - 排序 Python SQLite - 更新表 Python SQLite - 删除数据 Python SQLite - 删除表 Python SQLite - Limit 子句 Python SQLite - 连接 Python SQLite - 游标对象

Python MongoDB

Python MongoDB - 简介 Python MongoDB - 创建数据库 Python MongoDB - 创建集合 Python MongoDB - 插入文档 Python MongoDB - 查找 Python MongoDB - 查询 Python MongoDB - 排序 Python MongoDB - 删除文档 Python MongoDB - 删除集合 Python MongoDB - 更新 Python MongoDB - Limit 子句

Python 数据访问资源

Python 数据访问 - 快速指南 Python 数据访问 - 有用资源 Python 数据访问 - 讨论


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