SQLite 명령
이 장에서는 SQLite 프로그래머가 사용하는 간단하면서도 유용한 명령을 설명합니다. 이러한 명령은 SQLite의 점 명령으로 알려져 있으며 세미콜론(;)으로 끝나지 않는다는 점에서 다릅니다.
명령 프롬프트에 간단한 sqlite3 명령을 입력해 보겠습니다. SQLite 명령 프롬프트에서는 다양한 SQLite 명령을 사용할 수 있습니다.
$sqlite3
SQLite 버전 3.3.6
지침을 보려면 ".help"를 입력하세요
sqlite>
SQLite 버전 3.3.6
지침을 보려면 ".help"를 입력하세요
sqlite>
사용 가능한 포인트 명령 목록을 보려면 언제든지 ".help"를 입력할 수 있습니다. 예:
sqlite>.help
위 명령은 다음과 같이 다양한 중요한 SQLite 도트 명령 목록을 표시합니다.
명령 | 설명 |
---|---|
.backup ?DB? FILE | DB 데이터베이스(기본값은 "main")를 FILE 파일로 백업합니다. |
.bail ON|OFF | 오류 발생 시 중지합니다. 기본값은 꺼짐입니다. |
.databases | 첨부된 데이터베이스의 이름과 파일을 나열합니다. |
.dump ?TABLE? | SQL 텍스트 형식으로 데이터베이스를 덤프합니다. TABLE 테이블을 지정하면 LIKE 패턴과 일치하는 TABLE 테이블만 덤프됩니다. |
.echo ON|OFF | 에코 명령을 켜거나 끕니다. |
.exit | SQLite 프롬프트를 종료합니다. |
.explain ON|OFF | EXPLAIN에 적합한 출력 모드를 켜거나 끕니다. 매개변수가 없으면 EXPLAIN이 켜져 있고 EXPLAIN이 켜져 있습니다. |
.header(s) ON|OFF | 헤더 표시를 켜거나 끕니다. |
.help | 메시지를 표시합니다. |
.import FILE TABLE | FILE 파일의 데이터를 TABLE 테이블로 가져옵니다. |
.indices ?TABLE? | 모든 인덱스의 이름을 표시합니다. TABLE 테이블을 지정하면 LIKE 패턴과 일치하는 TABLE 테이블의 인덱스만 표시된다. |
.load FILE ?ENTRY? | 확장 라이브러리를 로드합니다. |
.log FILE|off | 로그를 켜거나 끕니다. FILE 파일은 stderr(표준 오류)/stdout(표준 출력)일 수 있습니다. |
.mode MODE | 출력 모드를 설정합니다. MODE는 다음 중 하나일 수 있습니다.
|
.nullvalue STRING | NULL 값 대신 STRING 문자열을 출력합니다. |
.output FILENAME | 출력을 FILENAME 파일로 보냅니다. |
.output stdout | 화면에 출력을 보냅니다. |
.print STRING... | STRING 문자열을 그대로 인쇄합니다. |
.prompt MAIN CONTINUE | 는 표준 프롬프트를 대체합니다. |
.quit | SQLite 프롬프트를 종료합니다. |
.read FILENAME | FILENAME 파일에서 SQL을 실행합니다. |
.schema ?TABLE? | CREATE 문을 표시합니다. TABLE 테이블을 지정하면 LIKE 패턴과 일치하는 TABLE 테이블만 표시됩니다. |
.separator STRING | .import에서 사용하는 출력 모드와 구분 기호를 변경합니다. |
.show | 다양한 설정의 현재 값을 표시합니다. |
.stats ON|OFF | 통계를 켜거나 끕니다. |
.tables ?PATTERN? | LIKE 패턴과 일치하는 테이블 이름을 나열합니다. |
.timeout MS | 잠긴 테이블 MS 마이크로초를 열려고 시도합니다. |
.width NUM NUM | "열" 모드의 열 너비를 설정합니다. |
.timer ON|OFF | CPU 타이머 측정을 켜거나 끕니다. |
.show 명령을 사용하여 SQLite 명령 프롬프트의 기본 설정을 확인해 보겠습니다.
sqlite>.show
에코: 꺼짐
설명: 꺼짐
헤더: 꺼짐
모드: 열
nullvalue: ""
출력: stdout
separator: "|"
width:
sqlite>
에코: 꺼짐
설명: 꺼짐
헤더: 꺼짐
모드: 열
nullvalue: ""
출력: stdout
separator: "|"
width:
sqlite>
sqlite> 프롬프트와 점 명령 사이에 공백이 없는지 확인하세요. 그렇지 않으면 제대로 작동하지 않습니다.
형식화된 출력
다음 점 명령을 사용하여 이 튜토리얼에 나열된 형식으로 출력 형식을 지정할 수 있습니다.
sqlite>.header on
sqlite>.mode 열
sqlite>.timer on
sqlite>
sqlite>.mode 열
sqlite>.timer on
sqlite>
위 설정은 다음 형식으로 출력을 생성합니다.
ID NAME 나이 > ------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 노르웨이 20000.0
4 Mark 25 리치몬드 65000.0
5 데이비드 27 텍사스 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
CPU 시간: user 0.0000 00 sys 0.000000
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 노르웨이 20000.0
4 Mark 25 리치몬드 65000.0
5 데이비드 27 텍사스 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
CPU 시간: user 0.0000 00 sys 0.000000
sqlite_master 테이블
은 데이터베이스 테이블의 주요 정보를 메인 테이블에 저장하고 이름을 sqlite_master로 지정합니다. 테이블 요약을 보려면 다음을 수행합니다.
sqlite>.schema sqlite_master
이렇게 하면 다음과 같은 결과가 생성됩니다.
CREATE TABLE sqlite_master(
유형 텍스트,
이름 텍스트,
tbl_name 텍스트,
루트 페이지 정수,
sql 텍스트
);
유형 텍스트,
이름 텍스트,
tbl_name 텍스트,
루트 페이지 정수,
sql 텍스트
);