참고 사이트 : Command Line Shell For SQLite
sqlite3 hangulDB.sqlite3 : 우리의 DB 파일에 연결
.table : table 들 출력
.output hangulDB.sql : output filename 지정
.dump / .exit : 종료
파일 백업
sqlite3 hangulDB.test : 새로운 데이터 파일 만들고 연결 ( 파일이 없다면 )
.read hangulDB.sql : 한글 DB 불러오기
select * from han_characters; 테이블 안에 있는 모든 튜플 출력
select character, freq from han_characters; 테이블에 있는 charater, freq 에 해당하는 튜플 출력
select * from han_charaters where freq>10000; 조건에 해당하는 튜플들 출력
.mode table : 이후에 출력되는 튜플 보기좋게 테이블 형식으로 보여줌
.mode list : 이후에 출력되는 튜플 리스트처럼 보여줌
select count(*) from han_characters where freq>10000; 해당 조건 튜플 개수
select * from han_letters where letter = 'ㅏ' or letter = 'ㅇ'; 해당 조건 만족하는튜플 보여줌
미리 명령어 저장해두고 실행하기
run_sql.sh
#!/bin/sh
sqlite3 hangulDB.sqlite3 "select * from han_characters;"
DBNAME=hangulDB.sqlite3
sqlite3 $DBNAME "select * from han_characters;"
sqlite3 $DBNAME "select * from han_characters;" > han_chars.list # 결과 새 파일로 저장
OUTNAME=/mount/cs4ks_2023/ug20191044/han_chars.list
sqlite3 $DBNAME "select * from han_characters;" > $OUTNAME
echo $OUTNAME
head -n 3 $OUTNAME
sh run.sql.sh 로 실행시키면 위 커멘드들이 실행된다.
변수 선언 해주고 $변수이름 을 사용해서 사용 가능하다.
우리가 원하는 db 에 연결해서 함수를 사용해 명령어를 직접 실행시켜 결과를 받는 코드
test_sqldb.py
from han_sqldb import *
import time
start = time.time()
conn=connect_db('hangulDB.sqlite3')
conditionResult=select(conn, 'han_characters', '*', 'freq > 3000')
print(conditionResult)
end=time.time()
print(end-start)
han_sqldb 에 있는 함수를 이용해 conn 에 DB 연결하고 select 함수로 매개변수로 table, field, condition 을 주어 결과값을 받고 출력한다.
'수업정리 > Fundamental' 카테고리의 다른 글
[Python] 한글 유니코드 8 - pandas, read_excel(), to_sql() (0) | 2023.05.31 |
---|---|
[Python] 한글 유니코드 7 - sqlite3, index, gdown 파일 연결하기, pandas, openpyxl (0) | 2023.05.26 |
[Python] 한글 유니코드 5 - 한글 decompose 해서 모음,자음 넣기 (0) | 2023.05.19 |
command 명령어 3 - grep, pdb, try / except (0) | 2023.05.10 |
command 명령어 2 - tar, glob(), matplotlib (0) | 2023.04.28 |