2014-01-05 3 views
0

에서 선택하십시오. Python에서 SQL 쿼리를 작성하여 요소를 선택하는 방법 Python 목록에 있습니까?Python SQLite [list]

예를 들어, 내가 문자열

Names=['name_1','name_2',..., 'name_n'] 

및 SQLite_table의 파이썬 목록을 가지고있다.

내 작업은

SELECT elements FROM SQLite_table WHERE element_name LIKE '%name_1%' 
SELECT elements FROM SQLite_table WHERE element_name LIKE '%name_2%' 
... 
SELECT elements FROM SQLite_table WHERE element_name LIKE '%name_n%' 
+0

중복 된 http://stackoverflow.com/q/15041534/2266261? – Dunno

+0

아니요. 문제는 좋아요. – drastega

+1

'SQLite_table로부터의 SELECT 요소 WHERE element_name LIKE '% name_1 %'또는 element_name LIKE '% name_2 %'또는 element_name LIKE '% name_n %''?? – PostMan

답변

2

당신은 당신이 '|'.join(Names)를 사용하여 생성 할 수있는 형태 name_1|name_2|name_3|…의 정규 표현식 필요 :

SELECT elements FROM SQLite_table WHERE element_name REGEXP 'name_1|name_2|name_3|…|name_n' 

지침을 확인하려면 How do I use regex in a SQLite query?을 확인하십시오. SQLite에서 정규 표현식을 사용하는 방법.

+0

REGEX 연산자가없고 연결된 응답은 REGEXP를 기본적으로 사용할 수 없다고 말합니다. –

+0

오타를 유감스럽게 생각합니다. 그러나 링크 된 응답은'REGEXP' 연산자를 설치하고 사용하기에 충분한 정보를 제공합니다. 예를 들어, [이 답변] (http://stackoverflow.com/questions/5365451)은 Python의 5 행에 연산자를 설치합니다. –

1

에 가장 짧은 방법을 찾아 Mmhh

입니다
Names=['name_1','name_2','name_n'] 
for i in Names: 
    sql = "SELECT elements FROM SQLite_table WHERE element_name LIKE '%" + i + "%'" 
    print sql 

SELECT elements FROM SQLite_table WHERE element_name LIKE '%name_1%' 
SELECT elements FROM SQLite_table WHERE element_name LIKE '%name_2%' 
SELECT elements FROM SQLite_table WHERE element_name LIKE '%name_n%'