如何在 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,或者扫描下方二维码,关注公众号,即可获取最新文章。
看完如果觉得有帮助,欢迎点赞、收藏和关注
来源:https://www.cnblogs.com/xiaowange/p/17830062.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|
|
|
发表于 2023-11-13 19:32:33
举报
回复
分享
|
|
|
|