利用python对mysql表做全局模糊搜索并分页实例

yizhihongxing

针对“利用python对mysql表做全局模糊搜索并分页实例”,我分为以下几个步骤进行讲解:

  1. 连接mysql数据库

可以使用Python的第三方库pymysql来连接mysql数据库。首先需要安装该库,可以使用以下命令进行安装:

pip install pymysql

连接mysql数据库的代码如下:

import pymysql

# 连接数据库
db = pymysql.connect(host="localhost", user="username", password="password", database="db_name", charset="utf8mb4")

# 创建游标对象
cursor = db.cursor()

这里需要替换数据库的具体信息,包括主机名、用户名、密码、数据库名。

  1. 数据表的全局模糊搜索

可以使用LIKE语句进行全局模糊搜索。例如,我们搜索某个表中name列中包含“test”的所有记录,可以使用以下代码:

# 模糊搜索
keyword = "test"
sql = f"SELECT * FROM table_name WHERE name LIKE '%{keyword}%'"
cursor.execute(sql)
result = cursor.fetchall()

这里需要替换具体的表名和列名。

  1. 分页

分页可以使用LIMIT语句进行实现。例如,我们将搜索结果分成每页10条记录,显示第2页的结果,可以使用以下代码:

# 分页
page_size = 10
page_num = 2
start = (page_num - 1) * page_size
sql = f"SELECT * FROM table_name WHERE name LIKE '%{keyword}%' LIMIT {start}, {page_size}"
cursor.execute(sql)
result = cursor.fetchall()

这里需要替换具体的表名和列名。

  1. 完整代码示例
import pymysql

# 连接数据库
db = pymysql.connect(host="localhost", user="username", password="password", database="db_name", charset="utf8mb4")

# 创建游标对象
cursor = db.cursor()

# 模糊搜索
keyword = "test"
sql = f"SELECT * FROM table_name WHERE name LIKE '%{keyword}%'"

# 分页
page_size = 10
page_num = 2
start = (page_num - 1) * page_size
sql += f" LIMIT {start}, {page_size}"

# 执行sql语句
cursor.execute(sql)
result = cursor.fetchall()

# 打印结果
for row in result:
    print(row)

# 关闭游标
cursor.close()

# 关闭数据库连接
db.close()
  1. 示例说明

假设有以下数据表:

CREATE TABLE table_name (
  id INT PRIMARY KEY NOT NULL,
  name VARCHAR(255) NOT NULL
);

INSERT INTO table_name (id, name) VALUES (1, 'test1');
INSERT INTO table_name (id, name) VALUES (2, 'hello');
INSERT INTO table_name (id, name) VALUES (3, 'test2');
INSERT INTO table_name (id, name) VALUES (4, 'world');
INSERT INTO table_name (id, name) VALUES (5, 'test3');

如果我们搜索包含关键字“test”的记录,并显示第2页的结果,可以使用以下代码:

import pymysql

# 连接数据库
db = pymysql.connect(host="localhost", user="username", password="password", database="db_name", charset="utf8mb4")

# 创建游标对象
cursor = db.cursor()

# 模糊搜索
keyword = "test"
sql = f"SELECT * FROM table_name WHERE name LIKE '%{keyword}%'"

# 分页
page_size = 2
page_num = 2
start = (page_num - 1) * page_size
sql += f" LIMIT {start}, {page_size}"

# 执行sql语句
cursor.execute(sql)
result = cursor.fetchall()

# 打印结果
for row in result:
    print(row)

# 关闭游标
cursor.close()

# 关闭数据库连接
db.close()

这里的搜索结果为:

(5, 'test3')

因为只有一条符合条件的记录,并且这条记录在第2页。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用python对mysql表做全局模糊搜索并分页实例 - Python技术站

(0)
上一篇 2023年6月13日
下一篇 2023年6月13日

相关文章

  • python入门课程第三讲之编码规范知多少

    Python入门课程第三讲之编码规范知多少 在Python编程中,编码规范是非常重要的,它可以提高代码的可读性、可维性和可扩展性。在本文中,我们将详细讲解Python编码规范的基本知识,包括命名规范、缩规范、注释规范等。 命名规范 在Python编程中,命名规范是非常重要的。下面是一些常见的命名规范: 变量名应该使用小写字母,单词之间使用下划线分隔。 函数名…

    python 2023年5月13日
    00
  • 学习python的几条建议分享

    下面是详细讲解“学习Python的几条建议分享”的攻略: 学习Python的几条建议分享 初学入门建议 选择合适的教材和学习路径:由于Python学习资料较多,建议选择一本经典入门教材(例如谢希仁的《Python 语言程序设计》),并按照系统化的章节顺序进行学习,练习每一章节的例子,保证理解后再进入下一章节。 注重实践:Python是一种实用性语言,学习要注…

    python 2023年5月18日
    00
  • Python基于xlutils修改表格内容过程解析

    下面是一份详细的Python基于xlutils修改表格内容过程解析实例教程。 1. 准备工作 1.1 安装xlutils库 首先,我们需要安装xlutils库,在终端中输入如下命令: pip install xlutils 1.2 准备Excel文件 我们需要准备一个Excel文件作为修改对象,可以自己创建一个Excel文件,也可以使用现成的Excel文件进…

    python 2023年5月13日
    00
  • python 获取字符串MD5值方法

    Python 获取字符串 MD5 值 如果需要对一段字符串进行唯一标识或者验证字符串内容是否一致,可以使用 MD5 算法,它可以将不同长度、不同内容的字符串转换成唯一的、相同长度的哈希值。Python 提供了 hashlib 模块,可以使用其中的 md5() 方法获取字符串的 MD5 值。 1. 安装 hashlib 模块 hashlib 是 Python …

    python 2023年6月2日
    00
  • python常见读取语音的3种方法速度对比

    下面我会为你详细讲解“python常见读取语音的3种方法速度对比”攻略。 标题 问题 在Python中,我们常常需要读取声音文件来进行语音识别或者其他处理。但是,读取声音文件的方式有很多种,这些方式在速度和实用性上都有所不同。因此,本次攻略我们将介绍在Python中常见的三种读取声音文件的方式,并对比它们之间的速度表现。 解决方案 在Python中,我们常见…

    python 2023年5月19日
    00
  • Python爬虫获取基金变动信息

    Python爬虫获取基金变动信息是一个非常有用的应用场景,可以帮助我们在Python中快速获取基金的变动信息。本攻略将介绍Python爬虫获取基金变动信息的完整攻略,包括数据获取、数据处理、数据存储和示例。 步骤1:获取数据 在Python中,我们可以使用requests库获取网页数据。以下是获取基金变动信息页面数据的示例: import requests …

    python 2023年5月15日
    00
  • python爬虫框架Scrapy基本应用学习教程

    Python爬虫框架Scrapy基本应用学习教程 简介 Scrapy是Python的一个强大的、灵活的、高效的开源网络爬虫框架。它用于从网站上获取有价值的数据,支持处理静态和动态网页,支持多级页面的爬取,可实现高效、快速、可靠的数据获取。同时,Scrapy提供了很多方便的工具,如合理的数据结构、快速的HTML/XML解析、多线程等,简化了爬取网站数据的过程。…

    python 2023年5月14日
    00
  • Python读取properties配置文件操作示例

    下面是详细讲解“Python读取properties配置文件操作示例”的完整攻略,希望对你有所帮助。 概述 properties(属性文件)是一种常见的配置文件类型,我们可以通过Python来读取和操作它。Python提供了ConfigParser模块来操作properties配置文件。 示例1:读取properties配置文件中的数据 假设我们有一个名为c…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部