首页 > 数据库 >如何在 Python 中执行 MySQL 结果限制和分页查询

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

时间:2023-11-13 20:24:40浏览次数:36  
标签:JOIN 分页 Python mysql mycursor products MySQL mydb users

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,或者扫描下方二维码,关注公众号,即可获取最新文章。

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

image

标签:JOIN,分页,Python,mysql,mycursor,products,MySQL,mydb,users
From: https://www.cnblogs.com/xiaowange/p/17830062.html

相关文章

  • mysql使用记录
    为数据库配置白名单IP报错与解决方案:解决mysql8报错:ERROR1410(42000):YouarenotallowedtocreateauserwithGRANT其中:updateusersethost='%'whereuser='test';的test是用户名,本次使用时替换为root最后要flushprivileges;刷新一下权限......
  • 用python计算圆周率PI,并显示进度条
    用python计算圆周率PI‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬描述用python计算圆周率PI‪‬‪‬......
  • mysql 阅读
    覆盖索引coveringindex:https://blog.csdn.net/cckevincyh/article/details/119655516B+tree https://www.xiaolincoding.com/mysql/index/page.html#innodb-%E6%98%AF%E5%A6%82%E4%BD%95%E5%AD%98%E5%82%A8%E6%95%B0%E6%8D%AE%E7%9A%84......
  • python tqdm 进度条 结合对象集合
    包含1.单独数据的进度条2.复杂对象集合的进度条3.结合excel读取以及业务操作做到全局进度条 fromtqdmimporttqdmimporttimefromopenpyxlimportWorkbook,load_workbook#集合类型的进度条deflist_tqdm():#生成随机数data=list()forii......
  • mysql函数(一)之常见的日期函数汇总
    mysql函数(一)之常见的日期函数汇总在数据库操作中,日期和时间的处理是非常重要的一部分。MySQL提供了许多内置的日期和时间函数,可以帮助我们更方便地处理这些数据。本文将介绍一些常见的日期函数,希望对大家有所帮助。一、mysql日期函数ADDDATE(d,n);计算起始日期d加上n天......
  • mysql函数(三)之常见的数学函数
    mysql函数(三)之常见的数学函数一、mysql常见数学函数MySQL提供了众多用于处理数字的数学函数,这些函数能够对整数、浮点数等进行一系列操作。以下是一些常用的MySQL数学函数:ABS(x);返回x的绝对值SELECTABS(-1)--返回1 AVG(price);返回一个表达式的平均值,price是一个......
  • mysql函数(二)之常见的字符串函数
    mysql常见字符串函数MySQL提供了许多用于处理字符串的函数,以下是一些常见的字符串函数及其作用:一、常用字符串函数CHAR_LENGTH(s);返回字符串s的字符数SELECTCHAR_LENGTH("abcdefg");->7//返回字符串abcdefg的字符数 CONCAT(s1,s2…sn);字符串s1,s2等多个字符串......
  • Python_Mooc_Stu_23_11_13_String_Random
    目录一、序列 (一)序列的索引 1.索引编号 2.序列元素索引访问3.注意事项 (二)序列的切片 1.切片格式 2.切片使用 3.参数缺省 二、序列的运算和常用处理函数 (一)序列运算 1.序列相加 2.序列相乘 3.序列对象比较 4.成员资格检查 (二)常用处理函数 1.len()......
  • mysql函数(二)之常见字符串函数
    1、CONCAT(str1,str2,…)函数CONCAT()将多个字符串连接成一个字符串,如果该函数中的任何参数为NULL,返回结果为NULL,使用示例如下: 2、SUBSTRING(str,pos,len)函数SUBSTRING()从字符串中提取子字符串,起始位置为pos,长度为len,使用示例如下: 3、REPLACE(str,from_str,to_str......
  • timestamp(6)详解 在MySQL中,timestamp是一种时间戳类型。timestamp(6)是timestamp类型
    timestamp(6)详解在MySQL中,timestamp是一种时间戳类型。timestamp(6)是timestamp类型的一个子类型,表示精确到秒后6位小数的时间戳。它占用8个字节存储空间一、什么是timestamp(6)在MySQL中,timestamp是一种时间戳类型。timestamp(6)是timestamp类型的一个子类型,表示精确到秒后6......