如何在 Python 中执行 MySQL 结果限制和分页查询

Python MySQL 限制结果

限制结果数量

示例 1: 获取您自己的 Python 服务器

选择 "customers" 表中的前 5 条记录:

python 复制代码
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="您的用户名",
  password="您的密码",
  database="我的数据库"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM customers LIMIT 5")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

从另一个位置开始

如果您想返回从第三条记录开始的五条记录,可以使用 "OFFSET" 关键字:

示例 2: 从位置 3 开始,返回 5 条记录
python 复制代码
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="您的用户名",
  password="您的密码",
  database="我的数据库"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM customers LIMIT 5 OFFSET 2")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

示例

python 复制代码
import mysql.connector

# 连接到MySQL数据库
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

# 创建游标对象
mycursor = mydb.cursor()

# 使用INNER JOIN合并用户和产品表格
sql = "SELECT \
  users.name AS user, \
  products.name AS favorite \
  FROM users \
  INNER JOIN products ON users.fav = products.id"

# 执行SQL查询
mycursor.execute(sql)

# 获取查询结果
myresult = mycursor.fetchall()

# 打印结果
for x in myresult:
  print(x)

注意:您可以使用JOIN代替INNER JOIN,它们都会给您相同的结果。

LEFT JOIN

在上面的示例中,Hannah 和 Michael 被排除在结果之外,因为INNER JOIN仅显示存在匹配的记录。如果您希望显示所有用户,即使他们没有喜欢的产品,可以使用LEFT JOIN语句:

python 复制代码
sql = "SELECT \
  users.name AS user, \
  products.name AS favorite \
  FROM users \
  LEFT JOIN products ON users.fav = products.id"

RIGHT JOIN

如果您希望返回所有产品以及将它们作为喜欢的产品的用户,即使没有用户将其作为喜欢的产品,可以使用RIGHT JOIN语句:

python 复制代码
sql = "SELECT \
  users.name AS user, \
  products.name AS favorite \
  FROM users \
  RIGHT JOIN products ON users.fav = products.id"

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

看完如果觉得有帮助,欢迎点赞、收藏 和关注

相关推荐
humors2211 分钟前
【转】理解文中重要句子的含义
学习·考研·读书·升学·阅读理解·语文·中心句
栈溢出了5 分钟前
LangGraph State、节点与动态路由学习笔记
python
一条破秋裤5 分钟前
01_字符设备基本概念_从分类到LED控制链路
开发语言·php
JWASX7 分钟前
Java 转 go 学习 - 并发编程(1)
学习·golang
我命由我123458 分钟前
Photoshop - Photoshop 迁移预设,动作和设置
学习·职场和发展·产品运营·求职招聘·职场发展·产品经理·学习方法
用户019027581619 分钟前
A 股代码后缀 .SH/.SZ/.BJ 怎么区分?Python 怎么统一处理沪深京港美股代码?
python
王中阳Go9 分钟前
Agent 第一句就 500,我们查了三轮:入口日志少打了一个参数
后端·agent·ai编程
羑悻9 分钟前
穿越Docker内核迷雾:揭秘镜像分层存储的叠加态与卷挂载的多维空间穿梭技术
后端·docker·容器
励志不掉头发的内向程序员9 分钟前
从鼠标点击到画出一条线:CAD 交互层的状态机设计
后端·架构
朝朝辞暮i12 分钟前
C++ 第 40 章:ROS2 Publisher + Timer + Subscriber + Callback + Executor 完整闭环
开发语言·c++·算法·ros2