SQLite | SQLite 설치 | SQLite 커맨드 라인 도구 테스트

다운로드 한 SQLite 커맨드 라인 도구를 실제로 사용해보고 동작 여부를 확인해 본다.

커맨드 라인 도구로 데이터베이스와 테이블 만들기

먼저 명령 프롬프트를 시작한다. PATH를 따로 설정하지 않았기에 sqlite3 실행 파일이 있는 디렉터리로 이동한다.

데이터베이스를 만들어 보도록 하자. 커맨드 라인 도구를 사용하여 데이터베이스를 만들려면 다음 형식을 사용한다.

sqlite3 데이터베이스명

데이터베이스명을 지정하고 sqlite3 프로그램을 실행하면 이미 데이터베이스가 존재하는 경우는 지정된 이름의 데이터베이스에 연결하고 지정된 이름의 데이터베이스가 존재하지 않는 경우에는 새 데이터베이스를 생성한 다음에 연결한다.

데이터베이스명은 뭐든 상관 없지만 지정된 데이터베이스명으로 파일이 생성된다. 예를 들어 sampledb.sqlite3 라든지 sampledb.db 라든지입니다. 확장자 없이 sampledb라도 괜찮다. 여기에서는 sample.sqlite3로 하겠다.

sqlite3 sample.sqlite3
$ sqlite3 sample.sqlite3
SQLite version 3.19.3 2017-06-27 16:48:08
Enter ".help" for usage hints.
sqlite> 

sample.sqlite3 라는 데이터베이스가 새로 작성되고 데이터베이스에 연결이 되었다. 그러나 실제로 파일이 만들어지는 것은 데이터베이스에 테이블와 같은 것을 작성했을 때이다. SQLite에 연결되어 있는 동안은 sqlite> 프롬프트가 표시되어 있다.

다음은 데이터베이스에서 테이블을 하나 만들려 보자. 다음과 같이 실행하도록 한다.

create table user(id, name);
$ sqlite3 sample.sqlite3
SQLite version 3.19.3 2017-06-27 16:48:08
Enter ".help" for usage hints.
sqlite> create table user(id, name);
sqlite> 

테이블이 생성되었다. 이번에는 데이터베이스를 만들고 데이터베이스에 테이블을 만들어 보았다.

데이터베이스와의 연결을 종료하려면 “.exit"를 입력한다.

.exit
$ sqlite3 sample.sqlite3
SQLite version 3.19.3 2017-06-27 16:48:08
Enter ".help" for usage hints.
sqlite> create table user(id, name);
sqlite> .exit

데이터베이스와의 연결이 끊겼다.

데이터베이스가 저장된 파일

데이터베이스를 생성 한 후 테이블와 같은 것을 생성 했을 때에 데이터베이스 파일에 저장된다. 만들 위치를 따로 지정하지 않았기 때문에 sqlite3 실행 파일이 있는 디렉터리에 데이터베이스 파일이 생성되어 있다.

$ ls
sample.sqlite3   sqldiff          sqlite3          sqlite3_analyzer

sample.sqlite3라는 파일이 새로 생성있는 것을 볼 수 있다. 이 파일은 방금 만든 데이터베이스 sample.sqlite3에 대한 데이터가 저장되어있는 파일이다. 이렇게 SQLite는 데이터베이스마다 파일을 하나 (경우에 따라서는 여러 파일을 사용하는 경우도 있다) 생성하고 관리한다.




최종 수정 : 2019-11-13