DB

sqlite 명령어 정리

Soyeon0111 2022. 4. 24. 22:51
반응형

django 기본 DBMS로 sqlite를 사용한다.

그동안 검증하는 프로그램들은 django와 postgreSQL 조합이었는데, 이번에 검증하는 프로그램에는 django와 sqlite 조합으로 개발되었다. 

sqlite는 file 기반 DBMS라 실제로 데이터가 쓰여지는 sqlite file이 있어야 그 안의 내용을 볼 수 있다.

서버기반 DBMS 접속은 DB Client 프로그램으로 쉽게 가능하지만, sqlite는 db file이 있어야 접속이 가능하고 host, port를 통한 접속은 불가능하다.

검증하는 리눅스 서버 내에서 sqlite 명령어로 DB를 확인해야 하기 때문에 이번 기회에 sqlite 명령어를 정리해 놓는다.

 


1. sqlite 접속

db 파일 있는 곳을 파악한 후 아래 명령어를 실행

sqlite3 {db filename}

 

2. database file 확인

sqlite> .database
[root@localhost db]# sqlite3 test.db 
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .database
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /usr/local/conf/test/db/test.db 

 

3. table 리스트 확인

sqlite> .tables
sqlite> .tables
task_status        task                 
file_status

총 3개의 테이블이 조회됨

 

4. select 쿼리 

sqlite> select * from task limit 1;
1|5a9ca26d7f6b4020a93cbff54db19357|0|2022-04-20 07:51:23|2022-04-20 09:21:02

 

5. 출력 포맷 변경 

1~2줄 출력하는 경우 .mode line 추천

여러줄을 출력하는 경우 .mode column 추천

 

sqlite> .mode csv
sqlite> select * from task limit 1;
1,5a9ca26d7f6b4020a93cbff54db19357,"2022-04-20 07:51:23","2022-04-20 09:21:02"
sqlite> .mode tabs
sqlite> .mode html
sqlite> .mode list
sqlite> .mode line
id = 1
transaction_id = 5a9ca26d7f6b4020a93cbff54db19357
created_at = 2022-04-20 07:51:23
updated_at = 2022-04-20 09:21:02
sqlite> .mode column

 

6. table schema 확인

sqlite> .schema task
sqlite> .schema task
CREATE TABLE task (
id INTEGER NOT NULL, 
transaction_id TEXT, 
status INTEGER DEFAULT (99) NOT NULL, 
created_at TEXT DEFAULT (datetime('now')) NOT NULL, 
updated_at TEXT DEFAULT (datetime('now')) NOT NULL, 
PRIMARY KEY (id), 
UNIQUE (transaction_id)
);

 

7. sqlite 나가기

sqlite> .quit
또는
sqlite> .exit

.exit의 경우 뒤에 exit code를 적어서 종료 코드를 지정할 수 있다.

 


더 많은 command는 https://www.sqlite.org/cli.html 를 참고

반응형