SQLite, 이미 설치돼 있을지도 모릅니다
뭔가 새로 설치하기 전에, 지금 컴퓨터에 SQLite가 이미 깔려 있는지부터 확인해 보세요. macOS에는 기본으로 들어 있고, 대부분의 리눅스 배포판에도 포함돼 있습니다. 평소에 쓰는 수많은 앱 안에도 SQLite가 들어 있죠. 터미널을 열고 다음 명령을 입력해 봅시다:
sqlite3 --version
3.43.2 2023-10-10 ... 같은 출력이 보인다면 설치가 끝난 겁니다. 페이지 맨 아래의 설치 확인 섹션으로 바로 넘어가세요. command not found가 뜨거나 3.35보다 낮은 버전이 나온다면 계속 읽어주세요. 윈도우, macOS, 리눅스 순서로 살펴봅니다.
지금 설치하려는 건 sqlite3 커맨드라인 도구입니다. 프로그램에서 링크해서 쓰는 라이브러리는 사실 별도 패키지지만, 대부분의 설치 방법에서는 둘을 같이 묶어서 제공합니다.
윈도우 sqlite 설치: 다운로드 후 PATH 등록까지
윈도우에는 SQLite가 기본으로 들어있지 않고, 별도 설치 마법사도 없습니다. 그냥 실행 파일이 들어 있는 작은 zip 파일을 받아 원하는 곳에 풀어두는 방식이에요.
- sqlite.org/download.html 페이지로 이동합니다.
- Precompiled Binaries for Windows 항목에서
sqlite-tools-win-x64-*.zip파일을 다운로드합니다. - 적당한 폴더에 압축을 풉니다. 보통
C:\sqlite를 많이 씁니다. - 어느 디렉터리에서든
sqlite3명령을 쓸 수 있도록 해당 폴더를PATH에 등록합니다.
sqlite3 PATH 등록 방법은 이렇습니다. 시작 메뉴에서 "환경 변수"를 검색해 시스템 환경 변수 편집을 엽니다. 환경 변수... 버튼을 누르고 사용자 변수에서 Path를 찾아 편집을 클릭한 뒤, 새 항목으로 C:\sqlite를 추가하면 됩니다.
이제 새 터미널 창을 엽니다(이미 열려 있던 터미널에는 PATH 변경이 반영되지 않습니다). 그리고 다음 명령으로 확인해 보세요:
sqlite3 --version
버전 문자열이 출력되어야 정상입니다. 만약 'sqlite3' is not recognized라는 메시지가 뜬다면 PATH에 해당 폴더가 등록되지 않았거나, 새로 연 터미널이 변경 사항을 아직 인식하지 못한 경우입니다.
맥 sqlite 설치: Homebrew로 최신 버전 받기
macOS에는 sqlite3가 기본 탑재되어 있지만, 시스템에 포함된 버전은 보통 최신 릴리스보다 1~2년 정도 뒤처져 있습니다. 튜토리얼을 따라 하거나 가볍게 쓰는 정도라면 그대로 써도 무방합니다. 다만 STRICT 테이블, 개선된 JSON 기능, 더 강력해진 윈도우 함수 같은 최신 기능을 쓰고 싶다면 Homebrew로 최신 버전을 설치하는 걸 추천합니다.
brew install sqlite
Homebrew는 SQLite를 자체 prefix 경로에 설치하고, 시스템에 기본 탑재된 버전은 일부러 덮어쓰지 않습니다. 그래서 맥에서 Homebrew로 설치한 SQLite를 기본으로 쓰려면 PATH 앞쪽에 직접 추가해 줘야 합니다. ~/.zshrc 파일에 아래 내용을 넣어 주세요:
export PATH="/opt/homebrew/opt/sqlite/bin:$PATH"
(Intel 맥이라면 /usr/local/opt/sqlite/bin 경로를 대신 사용하세요.) 그런 다음 source ~/.zshrc로 셸을 다시 불러온 뒤 확인해 봅니다:
sqlite3 --version
버전이 여전히 옛날 버전으로 표시된다면, 시스템에 깔린 sqlite3가 PATH 경쟁에서 이기고 있다는 뜻입니다. export 줄이 다른 PATH 수정 구문보다 앞에 있는지 다시 확인해 보세요.
리눅스: 패키지 매니저로 설치하기
거의 모든 리눅스 배포판은 기본 저장소에 SQLite를 포함하고 있습니다. 배포판별로 명령어만 조금씩 다를 뿐입니다:
# Debian, Ubuntu, Mint
sudo apt update
sudo apt install sqlite3
# Fedora, RHEL, CentOS Stream
sudo dnf install sqlite
# Arch, Manjaro
sudo pacman -S sqlite
# Alpine
sudo apk add sqlite
데비안 계열에서는 패키지 이름이 sqlite3이고, 그 외 대부분의 배포판에서는 그냥 sqlite입니다. 어느 쪽이든 sqlite3 명령줄 도구와 다른 프로그램에서 SQLite를 임베드할 때 쓰는 공유 라이브러리가 함께 설치됩니다.
배포판이 너무 오래된 버전을 제공하고 있고 최신 버전이 꼭 필요하다면, 소스에서 직접 빌드하는 방법도 있습니다. sqlite.org에서 amalgamation tarball을 받아 ./configure && make && sudo make install을 실행하면 됩니다. 다만 대부분의 사용자라면 패키지 매니저로 설치한 버전으로도 충분합니다.
sqlite 설치 확인하기
어떤 방식으로 설치했든, 똑같이 두 단계만 확인해 보면 정상 동작 여부를 알 수 있습니다. 먼저 버전부터 확인해 봅시다:
sqlite3 --version
버전 번호와 날짜, 빌드 해시가 출력될 겁니다. 그다음 인자 없이 SQLite 셸을 실행하면 바로 가지고 놀 수 있는 인메모리 데이터베이스가 열립니다:
sqlite3
sqlite> 같은 프롬프트가 뜨면 준비 완료입니다. 엔진이 정상적으로 동작하는지 확인하려고 짤막한 쿼리 하나만 실행해 봅시다:
버전 문자열과 인사 메시지가 함께 출력되면 정상입니다. 셸에서 빠져나오려면 .quit을 입력하고 Enter를 누르면 됩니다. 앞에 붙는 점(.)이 중요한데, SQLite는 이 점을 보고 셸 명령어(.quit, .help, .tables)와 SQL 문을 구분합니다.
자주 겪는 설치 문제
처음 설치할 때 다들 한 번씩 걸려 넘어지는 지점들이 있습니다.
- 설치는 했는데
sqlite3: command not found가 뜬다. 실행 파일은 어딘가에 있지만 PATH에 잡히지 않은 상태입니다. 윈도우라면 환경 변수를 다시 확인해 보세요. macOS에서 Homebrew로 설치했다면, 셸 설정 파일에export PATH=...줄이 들어가 있는지 확인하고 터미널을 새로 열어야 합니다. - macOS에서 엉뚱한 버전이 잡힌다. macOS에는
/usr/bin/sqlite3에 시스템 기본 sqlite3가 깔려 있고, 보통 이쪽이 먼저 잡힙니다.which sqlite3로 어느 경로의 실행 파일이 쓰이는지 확인해 보세요. Homebrew로 설치한 버전을 쓰려면 PATH에서 그쪽이 더 앞에 있어야 합니다. .quit이 안 먹힌다. 점을 빼먹고 그냥quit이라고 입력했을 가능성이 높습니다. 그러면 SQLite가 이걸 SQL 문으로 해석하려고 합니다. 셸 명령어는 항상.으로 시작한다는 점을 기억하세요.- DB 파일을 만들 때 쓰기 권한 오류가 난다. SQLite는 명령을 실행한 디렉터리에 쓰기 권한이 필요합니다.
cd로 쓰기 가능한 위치로 이동하거나,sqlite3 ~/mydb.db처럼 경로를 직접 지정해 주세요.
sqlite3 --version이 잘 돌아가고 SELECT 한 줄이 실행된다면 sqlite 설치 확인은 끝난 셈입니다. 이 강의의 나머지 내용은 모두 방금 설치한 CLI를 기반으로 진행됩니다.
다음 단계: SQLite CLI 다루기
이제 sqlite3이 PATH에 잡혔으니, 다음으로 할 일은 이 셸을 제대로 다루는 법을 익히는 것입니다. SQLite 셸에는 .tables, .schema, .mode, .import 같은 짧은 닷 커맨드들이 있는데, 이것들만 잘 써도 꽤 쓸 만한 데이터베이스 클라이언트가 됩니다. 다음 페이지에서 이 부분을 다룹니다.
자주 묻는 질문
Windows에 SQLite는 어떻게 설치하나요?
sqlite.org에서 sqlite-tools zip 파일을 받아 C:\sqlite 같은 폴더에 압축을 푼 다음, 그 폴더를 시스템 PATH에 추가하면 됩니다. 그 후 새 터미널을 열고 sqlite3 --version을 실행해 확인해 보세요. 별도의 설치 마법사는 없고, 사실상 실행 파일 하나만 있으면 끝입니다.
macOS에는 SQLite를 어떻게 설치하나요?
macOS에는 기본적으로 sqlite3가 내장되어 있어서 바로 사용할 수 있습니다. 다만 최신 버전을 쓰고 싶다면 Homebrew로 brew install sqlite를 실행하세요. Homebrew 버전은 시스템 기본 버전을 덮어쓰지 않기 때문에, 새 버전을 우선 사용하려면 PATH 설정을 따로 조정해야 할 수 있습니다.
Ubuntu나 다른 Linux 배포판에서는 어떻게 설치하나요?
Debian이나 Ubuntu 계열은 sudo apt install sqlite3, Fedora는 sudo dnf install sqlite, Arch Linux는 sudo pacman -S sqlite로 설치하면 됩니다. 패키지 매니저가 sqlite3 CLI 도구와 공유 라이브러리를 함께 설치해 줍니다.
SQLite가 제대로 설치됐는지 확인하려면요?
터미널에서 sqlite3 --version을 입력해 보세요. 정상 설치되어 PATH에 잡혀 있다면 버전 번호와 빌드 날짜가 출력됩니다. 만약 'command not found'가 뜬다면, 아직 설치가 안 됐거나 설치 경로가 PATH에 등록되지 않은 상태입니다.