SQLite란?
SQLite는 MySQL나 PostgreSQL와 같은 데이터베이스 관리 시스템이지만, 서버가 아니라 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스이다.
참고 : http://ko.wikipedia.org/wiki/SQLite
별도의 설치 필요 없이 파이썬에서는 SQLite 데이터베이스와 연결가능한 sqlite3 내장 모듈이 포함되어 있습니다.
이번 글에서는 sqlite3 모듈의 기본 사용법을 정리해 보겠습니다.
sqlite3 사용법
1. SQLite 데이터베이스에 연결하기
- sqlite3 모듈을 불러오기
import sqlite3
- 데이터베이스와 연결하기 위해서 connect() 메서드를 사용합니다.
- 괄호 안에 연결하고픈 파일 이름을 넣어줍니다. 존재하지 않는 이름을 넣어주면 그 이름으로 새로운 파일이 생성됩니다.
- 이 파일은 파이썬 파일과 같은 폴더에 생성됩니다. 원하는 파일 경로를 괄호 안에 따로 넣는 것도 가능합니다. (e.g. ./test.db)
connection = sqlite3.connect('test.db')
- 쿼리문을 실행시키려면 커서 cursor 객체를 통해 연결을 해야 합니다. 아래와 같이 커서 객체를 생성해주어야 합니다.
cursor = connection.cursor()
('connection' → 'con', 'cursor' → 'cur' 같은 원하는 짧은 이름으로 대체 가능!)
- 마지막에 연결 닫기
connection.close()
2. 테이블 생성하기
데이터베이스와 연결하고 커서 객체를 생성한 후, execute() 메서드로 쿼리를 전송할 수 있습니다.
괄호 안에 쿼리문을 넣어 실행 가능합니다. 아래 예제에서는 sql_command라는 변수를 따로 생성해서 넣어주었습니다.
import sqlite3
connection = sqlite3.connect("test.db")
cursor = connection.cursor()
sql_command = """
CREATE TABLE customer (
CustomerID int,
LastName varchar(255),
FirstName varchar(255))
"""
cursor.execute(sql_command)
connection.close()
3. 테이블에 데이터 입력하기
데이터 입력 역시 execute() 함수를 사용하여 실행해줄 수 있습니다.
데이터베이스에 INSERT 쿼리문으로 데이터를 입력할 경우 이 변화를 저장하려면 커밋을 해야 합니다.
commit() 메서드를 통해 데이터를 저장해 줍니다.
import sqlite3
connection = sqlite3.connect("test.db")
cursor = connection.cursor()
cursor.execute("INSERT INTO customer VALUES(2, 'Williams', 'Ellie')")
cursor.execute("INSERT INTO customer VALUES(1, 'Miller', 'Joel')")
# 체인지 커밋
connection.commit()
connection.close()
4. 데이터 조회하기
SELECT 문 ("SELECT * FROM 테이블_이름" )을 실행하여 테이블 내 데이터를 조회할 수 있습니다.
fetchall()는 쿼리문 결과물의 모든 열을 반환해 주는 함수입니다. 이때 결과물은 리스트 형식이며 각 열은 튜플 형식으로 봔환 됩니다.
import sqlite3
connection = sqlite3.connect("test.db")
cursor = connection.cursor()
cursor.execute("SELECT * FROM customer")
ans = cursor.fetchall() # 조회한 데이터를 ans 변수에 저장하기
print(ans)
for i in ans:
print(i)
output:
+ DB Browser for SQLite로 test.db를 열어본모습입니다.
'ᐧ༚̮ᐧ Data Science | AI > SQL' 카테고리의 다른 글
SQL 독학 #1. 기본 of 기본 SELECT + 조건 (0) | 2025.01.18 |
---|---|
SQL 독학 시작! 나만의 커리큘럼, 연습 문제 사이트 추천 (1) | 2025.01.17 |
[SQL 독학] SQLite 설치하기 (GUI 추천) (0) | 2023.02.10 |
[윈도우] MySQL 다운로드 & 설치하기 (0) | 2022.08.23 |
[postgreSQL] 데이터베이스 생성, 테이블 생성 & 데이터 입력 (0) | 2021.06.28 |