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

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

时间:2023-11-12 20:25:24浏览次数:41  
标签: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/17827704.html

相关文章

  • mysql主从同步延时解决
    ......
  • python3使用pymsql操作mysql数据库
    操作系统:Windows10_x64python版本:3.9.2pymysql版本:1.0.2MySQL版本:5.7.38 之前写过一篇关于python操作mysql数据库的文章:https://www.cnblogs.com/MikeZhang/p/pythonOptMysql20170703.html当时是基于python2.7和mysql5.5来整理的,但目前python2.7已经不再维护,主......
  • linux下安装mysql
    Linux下安装MySQL概述简单介绍MySQL是什么,运用场景。在Linux操作系统(默认64位)下安装MySQL需要注意的点,以及通过navicate16连接本地MySQL实现图形化操作。注意:需要root权限,或者您能正常使用sudo提权。MySQL简介MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于......
  • python笔记
    python基础来源:b站up“林粒粒呀”《一口气入门Python》1.列表shopping_list=["键盘","鼠标"]#使用append()方法shopping_list.append("显示器")#使用remove()方法(需要删除的元素必须在列表中)shopping_list.remove("鼠标")#列表的索引(从0开始)print(shopping_l......
  • python面试题收集
    1.Python是如何进行内存管理的?答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制一、对象的引用计数机制Python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。引用计数增加的情况:1,一个对象分配一个新名称2,将其放入一个容器中(如列......
  • python字符串操作
    python执行python脚本第一行#!/usr/bin/python 只对Linux/Unix用户适用,用来指定本脚本用什么解释器来执行。有这句时,加上执行权限后,可以直接用 ./ 执行,不然会出错,因为找不到python解释器。#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python......
  • mysql关于主表和从表
    typeGoodsstruct{BaseModelCategoryIDint32`gorm:"type:int;notnull"`CategoryCategoryBrandsIDint32`gorm:"type:int;notnull"`BrandsBrands} Goods是从表,从表中addforeignkey关系,reference主表altertab......
  • Mysql索引详解
    ​ 一、索引1.1索引由来如果数据量过大,没有索引就需要扫描全表挨个匹配速度会非常慢,这时就该用到索引了。通过索引表找到该行数据对应的物理地址然后访问相应的数据。索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。事实上,索引是一种数据结构,用于帮助我们在大......
  • linux安装mysql
    linux安装mysql概述:mysql是关系型数据库,可运行在linux、windows、macOS等各个操作系统。由于体积小、速度快、低成本等优点,大多数企业在软件开发都选择MYSQL作为软件数据库。本次linux安装mysql使用的是5.7版本,其他版本也是大同小异,思路步骤都一致。第一步:下载mysql下载地址:ht......
  • vscode python remote debug极速入门
    本文适用范围主要适用于debugpython程序,尤其是深度学习刚入门需要使用remote连接到linux进行程序运行,想调试一下的同学。当然非深度学习也可以参考食用本文哈哈哈。极速入门版提前准备:代码仓库已经拉取到linux上面,且已经知道运行的方式。比如:项目的启动命令为:pythonpret......