写点什么

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

作者:小万哥
  • 2023-11-12
    广东
  • 本文字数:1050 字

    阅读完需:约 3 分钟

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

Python MySQL 限制结果

限制结果数量


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


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


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 条记录

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)
复制代码


示例


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 语句:


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

RIGHT JOIN

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


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

最后

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


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



发布于: 刚刚阅读数: 5
用户头像

小万哥

关注

代码如人生 2023-02-09 加入

编程爱好者

评论

发布
暂无评论
如何在 Python 中执行 MySQL 结果限制和分页查询_Python_小万哥_InfoQ写作社区