模糊查询程序通常包括以下步骤:
读取用户输入的关键词
使用输入函数获取用户输入的关键词,作为模糊查询的条件。
连接数据库
使用数据库连接库(如Python的`pymysql`、Java的JDBC等)建立与数据库的连接。
执行查询语句
构建SQL查询语句,使用`LIKE`操作符进行模糊匹配。`LIKE`操作符可以与通配符(`%`和`_`)一起使用,`%`表示任意数量的字符,`_`表示单个字符。
如果使用预编译语句,可以通过参数化查询来插入关键字,以防止SQL注入攻击。
处理查询结果
执行查询语句并获取结果集(`ResultSet`)。
遍历结果集,提取相关数据。
显示查询结果
将查询结果展示给用户或进行其他操作。
```python
import pymysql
连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='password', db='database')
cursor = conn.cursor()
读取用户输入的关键词
keyword = input("请输入关键词: ")
构建模糊查询语句
sql = "SELECT * FROM fruits WHERE name LIKE %s"
执行查询语句
cursor.execute(sql, ('%' + keyword + '%',))
获取查询结果
results = cursor.fetchall()
处理查询结果
for row in results:
print(row)
关闭数据库连接
cursor.close()
conn.close()
```
在这个示例中,我们首先连接到MySQL数据库,然后读取用户输入的关键词,并构建一个包含`LIKE`操作符的SQL查询语句。接着,我们执行查询语句并获取结果集,最后遍历结果集并打印出来。
注意事项:
使用预编译语句和参数化查询可以有效防止SQL注入攻击。
在处理中文模糊查询时,有时需要使用两个百分号(`%%`)来表示一个百分号(`%`)。
不同的数据库系统可能有不同的模糊查询语法,建议查阅相应数据库的文档。