학습 목표
SQLite 데이터베이스는 기본적으로 파이썬과 함께 설치되는 가벼운 관계형 데이터베이스로 여타 다른 데이터베이스 서버를 사용하는 관계형 데이터베이스들에 비해 기능이 제한적이다. 즉, PostgreSQL과 같이 데이터베이스 서버를 띄우고 작업하지 않고 SQL을 사용할 때 기능적 제한으로 복잡하거나 고급 쿼리 등은 실행하기 어렵다. 또한 파일형 데이터베이스로 메모리에 상주할 수 있기 때문에 파일을 삭제하거나 프로세스 종료 등으로 인한 데이터 손실도 주의해야 한다. 하지만 이러한 부분들은 간단하고 빠르게 데이터베이스를 구축하거나 개발 단계에서 단순한 실험 등을 진행할 경우 장점이 된다.
connect
> cursor
> execute
> commit
import sqlite3
# connect to database
conn = sqlite3.connect('test.db')
#램에 데이터베이스를 만들 수 있다.
conn = sqlite3.connect(':memory:')
# create cursor object
cur = conn.cursor
# Create table
cur.execute("""CREATE TABLE test_table (
name VARCHAR(32),
age INT);
""")
# Insert a row of data
# 방법1
cur.execute("INSERT INTO test_table (name, age) VALUES ('spongebob', 12);")
# 방법2
users = [('lemon', 10),
('apple', 15)]
for user in users:
cur.execute("INSERT INTO test_table (name, age) VALUES (?, ?);", user)
# Save (commit) the changes
conn.commit()
# Lookup Data added
cur.fetchone()
cur.fetchmany()
cur.fetchall()
# fetchone으로 연속으로 계속 데이터 조회하면 모든 데이터 조회하는 효과(데이터를 가리키는 커서가 하나씩 뒤로 밀리게 됨)
# We can also close the connection if we are done with it.
# Just be sure any changes have been committed or they will be lost.
con.close()
- 클라우드 데이터베이스 : AWS(아마존), GCD(구글)
- 온프레미스 : 서버를 구축하여 데이터베이스를 직접 관리하는 방식
서비스://유저_이름:유저_비밀번호@호스트:포트번호/경로
main_db
ex) postgres://admin:password@databases.com:5432/main_db