优草派 > 问答 > Python

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

作者:robinwyz     

随着数据的不断增长,我们需要更加高效的方式来搜索和获取数据。而全局模糊搜索是一种常见的搜索方式,可以快速地找到包含指定关键词的数据。而在数据量较大的情况下,分页也是必不可少的功能。本文将介绍如何利用python对mysql表做全局模糊搜索并分页实例。

1.准备工作

在开始之前,我们需要先准备好以下工作:

- 安装mysql-connector-python库

- 创建一个mysql数据库和表,并插入一些数据

使用pip install mysql-connector-python安装mysql-connector-python库。

在mysql中创建一个名为test_db的数据库,并创建一个名为test_table的表,表结构如下:

CREATE TABLE test_table (

id INT(11) NOT NULL AUTO_INCREMENT,

name VARCHAR(50) NOT NULL,

age INT(11) NOT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在表中插入一些数据:

INSERT INTO test_table (name, age) VALUES ('张三', 20);

INSERT INTO test_table (name, age) VALUES ('李四', 25);

INSERT INTO test_table (name, age) VALUES ('王五', 30);

INSERT INTO test_table (name, age) VALUES ('赵六', 35);

2.实现全局模糊搜索

接下来,我们需要实现全局模糊搜索功能。具体实现方法如下:

- 获取用户输入的

【关键词】- 构造sql语句,使用LIKE关键词进行模糊搜索

- 执行sql语句,并获取结果

代码实现如下:

import mysql.connector

# 连接数据库

cnx = mysql.connector.connect(user='root', password='root', host='localhost', database='test_db')

cursor = cnx.cursor()

# 获取用户输入的关键词

keyword = input("请输入关键词:")

# 构造sql语句

query = f"SELECT * FROM test_table WHERE name LIKE '%{keyword}%'"

# 执行sql语句

cursor.execute(query)

# 获取结果

result = cursor.fetchall()

print(result)

上述代码中,我们使用input函数获取用户输入的关键词,使用LIKE关键词进行模糊搜索,并使用fetchall函数获取所有结果。

3.实现分页功能

接下来,我们需要实现分页功能。具体实现方法如下:

- 获取用户输入的页码和每页显示的数量

- 构造sql语句,使用LIMIT和OFFSET关键词进行分页查询

- 执行sql语句,并获取结果

代码实现如下:

import mysql.connector

# 连接数据库

cnx = mysql.connector.connect(user='root', password='root', host='localhost', database='test_db')

cursor = cnx.cursor()

# 获取用户输入的页码和每页显示的数量

page = int(input("请输入页码:"))

page_size = int(input("请输入每页显示数量:"))

# 构造sql语句

offset = (page - 1) * page_size

query = f"SELECT * FROM test_table LIMIT {page_size} OFFSET {offset}"

# 执行sql语句

cursor.execute(query)

# 获取结果

result = cursor.fetchall()

print(result)

上述代码中,我们使用input函数获取用户输入的页码和每页显示的数量,使用LIMIT和OFFSET关键词进行分页查询,并使用fetchall函数获取所有结果。

4.实现全局模糊搜索和分页功能的结合

最后,我们将全局模糊搜索和分页功能结合起来,实现全局模糊搜索并分页的功能。具体实现方法如下:

- 获取用户输入的关键词、页码和每页显示的数量

- 构造sql语句,使用LIKE关键词进行模糊搜索,同时使用LIMIT和OFFSET关键词进行分页查询

- 执行sql语句,并获取结果

代码实现如下:

import mysql.connector

# 连接数据库

cnx = mysql.connector.connect(user='root', password='root', host='localhost', database='test_db')

cursor = cnx.cursor()

# 获取用户输入的关键词、页码和每页显示的数量

keyword = input("请输入关键词:")

page = int(input("请输入页码:"))

page_size = int(input("请输入每页显示数量:"))

# 构造sql语句

offset = (page - 1) * page_size

query = f"SELECT * FROM test_table WHERE name LIKE '%{keyword}%' LIMIT {page_size} OFFSET {offset}"

# 执行sql语句

cursor.execute(query)

# 获取结果

result = cursor.fetchall()

print(result)

上述代码中,我们将全局模糊搜索和分页功能结合在了一起,用户可以同时输入关键词、页码和每页显示的数量,实现全局模糊搜索并分页的功能。

5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
相关问题
anaconda3安装后找不到
安卓超强文本编辑器中文版
在线代码编辑
怎么读取mat文件
查看更多

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024