본문 바로가기
WIKI 기술 지식 베이스

시작하기

원문 보기 위키 갱신

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

더 알아보기 (Learn more)