시작하기
Turso 인터랙티브 SQL 셸을 설치하고 사용하는 방법이에요. 셸 실행부터 출력 모드, 서버 모드까지 차근차근 살펴볼게요.
출처: 문서
본문
Turso CLI(tursodb)는 Turso 데이터베이스를 다루기 위한 인터랙티브 SQL 셸이에요. 인메모리·파일 기반 데이터베이스, 여러 출력 모드, CSV 가져오기, 데이터베이스 클론, 내장 문서를 지원해요.
Quick Start
In-Memory Database
일시적인 인메모리 데이터베이스로 셸을 띄워요:
tursodb
Open a Database File
tursodb mydata.db
Run a Query Directly
SQL을 커맨드라인 인자로 넘기면 실행하고 바로 종료해요:
tursodb mydata.db "SELECT * FROM users;"
Pipe SQL from stdin
echo "SELECT sqlite_version();" | tursodb -q
Interactive Shell
SQL 인자 없이 실행하면 커맨드 히스토리와 구문 강조가 있는 인터랙티브 REPL이 열려요.
Multi-line Input
끝나지 않은 문장(세미콜론 누락, 괄호 불균형)은 자동으로 다음 줄에서 이어져요. 프롬프트가 중첩 깊이를 표시해 줘요:
tursodb> SELECT *
...> FROM employees
...> WHERE department = 'Engineering';
Command History
커맨드 히스토리는 ~/.limbo_history에 자동으로 저장되고, 위/아래 화살표 키로 접근할 수 있어요.
Exiting
셸을 나가려면 .quit 또는 .exit를 사용하세요. Ctrl+C를 두 번 눌러도 종료돼요.
Output Modes
Turso는 세 가지 출력 모드를 지원하고, -m 플래그나 .mode dot 커맨드로 선택할 수 있어요.
Pretty (Default)
테두리가 있는 사람이 읽기 좋은 테이블이에요:
tursodb -q -m pretty
┌────┬─────────┬─────────────┬─────────┐
│ id │ name │ department │ salary │
├────┼─────────┼─────────────┼─────────┤
│ 1 │ Alice │ Engineering │ 95000.0 │
├────┼─────────┼─────────────┼─────────┤
│ 2 │ Bob │ Marketing │ 72000.0 │
└────┴─────────┴─────────────┴─────────┘
List
스크립트에 적합한 파이프 구분 값이에요:
tursodb -q -m list
1|Alice|Engineering|95000.0
2|Bob|Marketing|72000.0
Line
컬럼 이름과 함께 한 줄에 한 컬럼씩 출력해요:
tursodb -q -m line
id = 1
name = Alice
department = Engineering
salary = 95000.0
Non-Interactive Mode
입력이 파이프로 들어오면(터미널이 아니면) 셸은 non-interactive 모드로 동작해요:
- 출력이 기본으로
list모드예요 (-m으로 재정의 가능) - 시작 배너, 히스토리, 구문 강조가 없어요
- 쿼리 오류 시 종료 코드 1로 나가요
echo "SELECT 1 + 2;" | tursodb -q
Server Modes
CLI는 인터랙티브 셸 대신 서버로도 동작할 수 있어요.
MCP Server
Model Context Protocol 서버를 시작해서 AI 어시스턴트가 데이터베이스와 상호작용하게 할 수 있어요:
tursodb --mcp mydata.db
Sync Server
데이터베이스 복제를 위한 sync 서버를 시작해요:
tursodb --sync-server 0.0.0.0:8080 mydata.db