sqlite3 테이블에서 데이터를 검색하는 Python 예제코드입니다.
2023. 11. 24 최초작성
2024. 3. 7 에러처리 코드 추가
기존에 작성된 다음 포스트에서 만든 데이터베이스 테이블을 사용하여 진행합니다.
sqlite3 테이블에 데이터 삽입하는 Python 예제코드
https://webnautes.tistory.com/2225
import sqlite3 database_file_path = 'zodiac.db' # 데이터베이스 파일 이름입니다. table_name = 'zodiac' # 테이블 이름입니다. try: conn = sqlite3.connect(database_file_path) cursor = conn.cursor() print("Database connection successful!") except sqlite3.Error as e: print(f"Database connection failed: {e}") exit() # database_file_path에 위치한 SQLite 데이터베이스 파일에 연결을 시도합니다. # 이 경로에 파일이 존재하지 않으면, 새 데이터베이스 파일을 생성합니다. # 데이터베이스 파일에 연결이 성공하면 Connection 객체를 반환합니다. cursor = conn.cursor() # 데이터베이스에 SQL 쿼리를 실행할 때 사용되는 Cursor 객체를 반환합니다. # 이 Cursor 객체를 사용하여 SQL 명령을 데이터베이스에 보내고, 결과를 받을 수 있습니다. column_name = 'animal' # 검색할 컬럼을 지정합니다. search_term = '토끼' # 지정한 컬럼에서 검색할 키워드를 지정합니다. query = f"SELECT * FROM {table_name} WHERE {column_name} LIKE ?" # SELECT * FROM {table_name} # table_name 변수에 지정된 테이블에서 모든 컬럼을 선택한다는 의미입니다. # # WHERE {column_name} LIKE ? # column_name 변수에 지정된 컬럼에서 특정 패턴을 포함하는 레코드만을 필터링하라는 조건을 추가합니다. # 여기서 LIKE는 SQL에서 패턴 매칭을 수행할 때 사용되는 연산자이며, 물음표(?)는 매개변수화된 쿼리에서 값이 위치할 자리를 나타내는 플레이스홀더입니다. # 조건은 아래 코드에서 추가됩니다. cursor.execute(query, ('%' + search_term + '%',)) # Cursor 객체의 execute 메소드를 사용하여 지정된 쿼리를 데이터베이스 엔진에 전달합니다. # 여기에선 특정 패턴을 포함하는 레코드를 검색하기 위한 SQL 쿼리를 실행합니다. # # ('%' + search_term + '%',) # 앞에서 쿼리문에 추가한 플레이스홀더(?)에 바인딩될 값을 튜플 형태로 제공합니다. # %는 SQL의 와일드카드 문자로, 어떤 문자열의 앞이나 뒤에 위치할 수 있는 임의의 문자열을 나타냅니다. # 즉, 레코드의 값에 search_term 변수의 값이 부분적으로 포함되어 있으면 해당 레코드가 결과에 포함됩니다. # 예를 들어 변수 search_term이 apple이라면, %apple% 패턴은 'apple', 'green apple', 'apple pie' 등 'apple'을 포함하는 문자열과 일치합니다. results = cursor.fetchall() # cursor에 의해 실행된 마지막 `SELECT` 쿼리의 결과로 반환된 모든 행(row)을 가져와 변수 results에 저장합니다. # 각 행은 튜플 형식으로 저장되며, 이 튜플들의 리스트가 변수 results에 저장됩니다. conn.close() # close() 메소드를 사용하여 데이터베이스 연결을 안전하게 종료합니다. for row in results: print(row) # 결과 데이터를 출력합니다. |
실행결과입니다. animal 컬럼의 값이 토끼인 레코드(행)을 보여줍니다.
Database connection successful! (2011, '토끼') (2023, '토끼') |
sqlite3 테이블에 데이터 삽입하는 Python 예제코드
https://webnautes.tistory.com/2225
sqlite3 테이블 출력하는 Python 예제
https://webnautes.tistory.com/2372
sqlite3 테이블에 있는 레코드 개수 세는 Python 예제코드
https://webnautes.tistory.com/2223
sqlite3 테이블에 있는 레코드 하나를 랜덤으로 보여주는 Python 예제
https://webnautes.tistory.com/2224
sqlite3 테이블에서 데이터를 검색하는 Python 예제코드
https://webnautes.tistory.com/2226
sqlite3 테이블에서 중복값을 찾는 Python 예제코드
https://webnautes.tistory.com/2233
sqlite3 테이블의 스키마(schema)를 출력하는 Python 예제코드
https://webnautes.tistory.com/2227
'Python > sqlite3' 카테고리의 다른 글
sqlite3 테이블 출력하는 Python 예제 (0) | 2024.08.11 |
---|---|
sqlite3 테이블에서 중복값을 찾는 Python 예제코드 (0) | 2024.03.07 |
sqlite3 테이블에 있는 레코드 하나를 랜덤으로 보여주는 Python 예제 (0) | 2024.03.07 |
sqlite3 테이블에 있는 레코드 개수 세는 Python 예제코드 (0) | 2024.03.07 |
sqlite3 테이블의 스키마(schema)를 출력하는 Python 예제코드 (0) | 2024.03.07 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!