类似于Python - SQLite中的查询



我有一个2列的数据库,球员的名字用这种格式写:

Player2应g .印尼y

SQLite为构造模式提供了两个通配符。它们是百分号%和下划线_:

百分号%通配符匹配任何0个或多个字符的序列。下划线_通配符匹配任何单个字符。

for game in final_table:
name = "Yang %"
cur1.execute("SELECT * FROM matches WHERE Player1 like ?", [name])
match = cur1.fetchall()
print(match)

查看LIKE的文档。在这两种情况下,您编写查询的方式都试图查找name的精确匹配。没有精确匹配,因为所有的数据在你的SQLite数据库有空格和额外的文本后的姓氏字符串。

你可以这样写:

cur1.execute("SELECT * FROM matches WHERE Player1 like ? ", [f"{name} %"])

注意"%"通配符将匹配姓氏后面的任何首字母。

最新更新