python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python MySQL结果限制分页查询

Python中执行MySQL结果限制和分页查询示例详解

作者:小万哥

这篇文章主要为大家介绍了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"

以上就是Python中执行MySQL结果限制和分页查询示例详解的详细内容,更多关于Python MySQL结果限制分页查询的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文