Shell, Python - sqlite3
import sqlite3
cnn = sqlite3.connect("/home/ug20191044/cs4ks/testDB.db")
cursor = cnn.cursor()
cursor.execute("select * from table1")
print(cursor.fetchall())
cnn.close()
커멘드에서 python 파일을 실행하는 것처럼
쉘에서 스크립트를 작성해 python 파일들을 실행시켜 보도록 한다.
run.sh
#!/bin/sh
#/bin/python Hangul.py # Hangul.py 실행
outfn=result.txt
/bin/python Hangul.py > $outfn
wc -w $outfn
echo "$outfn is saved"
우리는 result.txt 파일을 열어서 Hangul.py 의 실행 결과를 저장할 수 있다.
만약 /bin/python Hangul.py >> $outfn 으로 한다면 기존 파일에 add 하여 저장한다.
cd ~ : 하위 디렉토리로
cd - : 이전 디렉토리로
$PWD : 현제 디렉토리 경로
$HOME : 홈 디렉토리 경로
CREATE DATABASE dbname; / create database dbname;
새로운 데이터베이스를 생성합니다.
CREATE TABLE tablename ( fieldname1 type1, fieldname2 type2, …);
새로운 테이블을 생성합니다. 테이블 이름과 각 필드의 이름과 타입을 지정해줍니다.
CREATE TABLE tablename IF NOT EXISTS ( …..);
테이블이 이미 존재할 경우 무시하고, 존재하지 않을 경우에만 테이블을 생성합니다.
INSERT INTO tablename( fieldname1, fieldname2, …) VALUES (value1, value2, ….);
새로운 레코드를 테이블에 추가합니다. 필드 이름과 값들을 지정해줍니다.
SELECT field1, field2, … FROM tablename;
테이블에서 필드들의 값을 검색합니다. 검색할 필드 이름을 지정해줍니다.
DROP TABLE tablename;
테이블을 삭제합니다.
DROP DATABASE databasename;
DB를 삭제합니다.
SELECT * FROM tablename WHERE fieldname1=value1;
특정 필드의 값을 가진 레코드를 검색합니다.
UPDATE tablename SET field1=val2 WHERE field1 LIKE pattern;
특정 패턴을 가지고 있는 필드의 값을 변경합니다.
DELETE FROM tablename WHERE field1=val2;
특정 필드의 값을 가진 레코드를 삭제합니다.
UPDATE tablename SET field1=val1 WHERE field2=val2;
조건에 맞는 레코드의 값을 업데이트합니다.
DELETE FROM tablename WHERE condition;
조건에 맞는 레코드를 삭제합니다.
SELECT * FROM tablename WHERE condition GROUP BY field1;
조건에 맞는 레코드를 필드1을 기준으로 그룹화하여 검색합니다.
SELECT * FROM tablename ORDER BY field1 ASC|DESC;
필드1을 기준으로 오름차순 또는 내림차순으로 정렬하여 검색합니다.
SELECT COUNT(fieldname) FROM tablename WHERE condition;
조건에 맞는 레코드의 개수를 세어서 검색합니다.
SELECT SUM(numericfield1) FROM tablename WHERE condition;
조건에 맞는 레코드의 numericfield1 값을 합산하여 검색합니다.
SQLite 를 깔고 실행하고 만든 .db 파일을 파이썬에서 사용해보자
파이썬을 실행해서 import sqlite3 를 해준다.
우리의 .db 파일을 연결해주고 데이터를 읽는다.
이때 SQL 쿼리문을 실행시키고 그 반환값을 받아 출력할 수 있다.
우리의 db 파일을 ssh 에 올리려면
scp .\testDB.db ug20191234@163.239.103.144:~/cs4ks/
해주면 된다.
그리고 ssh 에서 우리의 .db 파일을 사용하는 코드를 짜보면
test_db.py
import sqlite3
cnn = sqlite3.connect("/home/ug20191234/cs4ks/testDB.db")
cursor = cnn.cursor()
cursor.execute("select * from table1")
print(cursor.fetchall())
cnn.close()