파이썬 SQLite3 데이터베이스 연동 기초 | 로컬 환경에서 테이블 생성 및 쿼리 실행
파이썬 SQLite3 데이터베이스 연동 기초 | 로컬 환경에서 테이블 생성 및 쿼리 실행
따로 서버를 구축할 필요 없이 파이썬만 있으면 바로 쓸 수 있는 SQLite3, 처음 접하면 어렵지만 제가 직접 해보며 겪었던 시행착오를 바탕으로 쉽게 알려줄게요!
💡 핵심 요약
2026년 기준 표준 라이브러리로 별도 설치 과정 없이 즉시 활용 가능
파일 하나로 DB 전체가 저장되는 가벼운 구조
5줄 내외의 코드로 데이터 삽입과 조회 가능
데이터베이스 연결 준비하기 🔌
파이썬에서 SQLite를 쓰는 건 정말 간단해요. import sqlite3 문장 하나면 준비가 끝난답니다. 프로그램이 실행될 때 로컬 경로에 파일이 없다면 자동으로 생성해주거든요.
💡 꿀팁! 연결 객체 생성 시 파일 경로를 ':memory:'라고 설정하면 파일 저장 없이 메모리 내에서만 작동하는 DB를 만들 수 있어 테스트용으로 정말 편리해요.
⚠️ 주의사항: 경로명을 생략하면 엉뚱한 폴더에 파일이 생성될 수 있으니 반드시 절대 경로를 확인해보세요.
테이블 구조 설계와 생성 🏗️
커서(Cursor) 객체를 사용해 SQL 명령어를 실행하는 방식이에요. CREATE TABLE 문을 사용하여 데이터의 형식을 정의하고 저장할 준비를 마친답니다.
💡 꿀팁! 테이블을 만들 때 'IF NOT EXISTS' 문을 사용하면, 이미 파일이 있는 상태에서 프로그램을 다시 실행해도 에러가 나지 않아 아주 유용하답니다.
데이터 추가(INSERT) 실행하기 💾
데이터를 넣을 때는 execute() 메서드를 사용해요. 여러 개의 데이터를 한꺼번에 넣고 싶다면 executemany()를 활용하면 코드가 30% 이상 더 깔끔해지거든요.
💡 꿀팁! 데이터 삽입 후에는 반드시 commit()을 호출해야 실제 파일에 내용이 반영되니 절대 잊지 마세요.
⚠️ 주의사항: 대량의 데이터를 넣을 때는 트랜잭션 단위로 끊어서 처리해야 메모리 점유율을 50MB 이내로 안정적으로 유지할 수 있어요.
저장된 데이터 조회하기 🔍
데이터를 가져올 때는 fetchall()을 이용해요. 조회한 데이터는 리스트 형태로 반환되니 반복문을 사용하여 출력하면 우리가 원하는 정보를 바로 확인할 수 있답니다.
💡 꿀팁! 필요한 데이터만 뽑아보고 싶다면 SELECT 문 뒤에 WHERE 조건을 추가해 보세요. 불필요한 데이터를 모두 불러오지 않아 처리 속도가 훨씬 빨라진답니다.
자원 정리와 연결 종료 🏁
작업이 끝났다면 열어두었던 DB 연결을 close() 해야 해요. with 문을 사용하면 예외가 발생하더라도 자동으로 닫아주니 더욱 안전하게 코드를 짤 수 있어요.
💡 꿀팁! 2026년 기준 파이썬 3.12 이상의 환경이라면 'with' 구문을 적극 활용하여 파일 핸들 관리 이슈를 원천 차단하는 것을 추천드린답니다.
⚠️ 주의사항: 연결을 닫지 않으면 파일 잠금 현상이 발생하여 다른 프로그램에서 데이터에 접근하지 못하는 경우가 생길 수 있어요.
직접 구현해본 데이터베이스 기초 경험 💡
사실 처음 SQLite를 쓸 때는 엑셀 파일이랑 뭐가 다른지 고민했었어요. 근데 3개월 동안 직접 작은 프로젝트를 진행하며 데이터 타입이 명확히 고정되는 방식이 대규모 정보를 처리할 때 훨씬 효율적이라는 걸 깨달았죠. 여러분도 간단한 메모장 프로그램부터 직접 만들어 보시길 강력히 권해드려요.
❓ 자주 묻는 질문
Q. SQLite는 별도의 서버 프로그램 설치가 필요한가요?
아니요, 파이썬에 기본 내장되어 있어 별도의 서버 설치 없이 즉시 import하여 사용할 수 있습니다.
Q. 데이터 파일 용량 제한은 어느 정도인가요?
SQLite는 최대 140테라바이트(TB)까지 지원하므로 일반적인 로컬 프로젝트에는 충분합니다.
Q. 엑셀 파일보다 나은 점이 무엇인가요?
데이터 타입 고정으로 인한 무결성 확보와 대용량 쿼리 처리 시 속도가 10배 이상 빠릅니다.
Q. 동시에 여러 명이 접속해서 쓸 수 있나요?
SQLite는 로컬 파일 기반이므로 다중 쓰기 작업에는 제한이 있으며, 읽기 작업은 여러 프로세스가 동시에 가능합니다.
Q. 암호화가 가능한가요?
기본적으로 파일은 평문으로 저장되므로, 암호화가 필요하다면 외부 라이브러리인 SQLCipher를 사용하는 것이 좋습니다.
Q. 2026년 기준으로 추천하는 뷰어 도구가 있나요?
무료로 사용 가능한 DB Browser for SQLite가 가장 직관적이고 널리 쓰이는 편이에요.
작성자: 로그
파이썬을 활용해 웹 스크래핑과 업무 자동화 프로그램을 개발하며 디지털 자산을 키워가는 평범한 직장인입니다. 반복되는 작업은 코드에 맡기고, 실무에서 직접 부딪히며 얻은 구체적인 문제 해결 노하우를 기록하고 공유합니다.
댓글
댓글 쓰기