traveler98 2023. 6. 8. 08:57

SQLite는 파일 기반의 경량 데이터베이스 관리 시스템(DBMS)입니다. SQLite는 전체 데이터베이스를 단일 파일에 저장하므로, 복잡한 설정이나 관리 없이 간단하게 사용할 수 있습니다. 이러한 특징으로 인해 SQLite는 주로 임베디드 시스템, 테스트 또는 프로토타이핑 환경, 그리고 모바일 애플리케이션에서 많이 사용됩니다.

SQLite는 ACID(Atomicity, Consistency, Isolation, Durability) 원칙을 준수하며, SQL (Structured Query Language)을 사용하여 데이터에 액세스하고 조작합니다. 이는 표준 SQL 문법을 사용하여 쿼리를 작성하고 실행할 수 있다는 것을 의미합니다.

SQLite3는 SQLite의 버전 3를 가리키며, 이 버전에서는 여러가지 기능 향상과 최적화가 이루어졌습니다. 이에는 저장 프로시저, Triggers, upsert 등의 기능이 포함되어 있습니다.

 

 

사용 예제 코드

Python에서 sqlite3 라이브러리를 사용하여 SQLite 데이터베이스를 생성하고 테이블을 만든 후 데이터를 삽입하고 조회하는 간단한 예제 코드입니다.

```python
import sqlite3

# 데이터베이스에 연결하거나 존재하지 않는 경우 새로운 데이터베이스 파일을 생성
conn = sqlite3.connect('example.db')

# 커서 객체 생성
c = conn.cursor()

# 테이블 생성
c.execute('''
    CREATE TABLE stocks
    (date text, trans text, symbol text, qty real, price real)
''')

# 데이터 삽입
c.execute("INSERT INTO stocks VALUES ('2023-01-06', 'BUY', 'GOOG', 100, 350.14)")

# 데이터베이스에 대한 변경사항 커밋
conn.commit()

# 데이터 조회
c.execute("SELECT * FROM stocks WHERE symbol = 'GOOG'")
print(c.fetchone())

# 연결 종료
conn.close()
```

이 코드는 'stocks'라는 이름의 테이블을 생성하고, 주식 거래에 대한 정보를 삽입한 후, 'GOOG'라는 심볼을 가진 주식 거래를 조회하는 과정을 보여줍니다.

실제 사용 시에는 SQL 쿼리에 파라미터를 직접 포함시키는 대신 파라미터를 물음표로 대체하고, execute() 함수의 두 번째 인자로 파라미터의 튜플을 전달하는 것이 안전합니다. 이는 SQL 삽입 공격을 방지하는 데 도움이 됩니다.