如何在 Mysql 服务器中查找全部和部分匹配
Posted
技术标签:
【中文标题】如何在 Mysql 服务器中查找全部和部分匹配【英文标题】:How to find the full and partial match in Mysql server 【发布时间】:2021-07-26 01:56:57 【问题描述】:用户提供输入,输入可以是全名或部分名称。查询应显示所有匹配的输出。这是我正在使用的代码
c.execute("SELECT name FROM ALLNAMES WHERE Cname ='" + ('%'+ Input.get()+'%') + "';")
我正在使用 python,输出是一个看起来不正确的空列表。
【问题讨论】:
【参考方案1】:您需要like
而不是=
c.execute("SELECT name FROM ALLNAMES WHERE Cname LIKE '" + ('%'+ Input.get()+'%') + "';")
【讨论】:
【参考方案2】:您的意思是 like 查询,而不是平等。 所以在这种情况下,它将是:
c.execute("SELECT name FROM ALLNAMES WHERE Cname LIKE '"+ ('%'+ Input.get()+'%') + "';")
https://www.mysqltutorial.org/mysql-like/
请注意,将查询参数放在查询字符串中并不是一个好主意。它很容易被 sql 注入攻击。至少使用查询参数。
【讨论】:
以上是关于如何在 Mysql 服务器中查找全部和部分匹配的主要内容,如果未能解决你的问题,请参考以下文章
mysql 如何查找同一表中两行之间的差异并列出不匹配的记录? mysql在表中查找不匹配的行