Как найти подстроку в таблице Sqlite? - PullRequest
1 голос
/ 01 мая 2019

Я создаю базу данных с помощью Python Sqlite3 и пытаюсь собрать некоторые конкретные строки в этой таблице.Это формат для каждой строки:

{
"DATA":"my_variable Test should12 be substring of this",
}

Вот та часть моего кода, которую мне нужно решить:

rows = curs.execute("SELECT * FROM table WHERE DATA LIKE :my_variable", {"my_variable": my_variable}).fetchall()

print(rows)

И my_variable может принимать любую строку.my_variable является строкой Python и является my_variable = 'should12'

1 Ответ

1 голос
/ 01 мая 2019

Оператор sqlite LIKE используется для сопоставления с образцом. И вы должны использовать параметризованных запросов для предотвращения (очень реальной) угрозы внедрения SQL.

Выражение будет примерно таким (используя с именем style)

curs.execute("SELECT * FROM table WHERE LOWER(DATA) LIKE :my_variable",{"my_variable" : "%should12 be%" })

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...