본문 바로가기

Python 파이썬

파이썬과 SQLite3 연동하기(Python + SQLite3)_2

728x90
#임포트로 SQLite3 불러오기
import sqlite3

# 예제 1 데이터 베이스 연결
conn = sqlite3.connect('example.db')

# 커서 생성
cursor = conn.cursor()

# users 테이블 생성
cursor.execute("""
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT NOT NULL,
        age TNTEGER NOT NULL      
     )      
 """)

# 커밋
conn.commit()

# 커서와 연결 닫기      ☜  작업이 끝난 후 커서와 연결을 꼭 닫아줘야 한다.
cursor.close()           
conn.close()

 

 

 

#임포트로 SQLite3 불러오기
import sqlite3

# 예제 2 데이터 삽입하기
conn = sqlite3.connect('example.db'# 데이터 베이스 연결
cursor = conn.cursor()    # 커서 생성

try:
    #데이터 삽입 execute()메서드를 사용
    cursor.execute("INSERT INTO users (name, age) VALUES (?,?)", ("Alice", 20))
    cursor.execute("INSERT INTO users (name, age) VALUES (?,?)", ("Bob", 25))
    cursor.execute("INSERT INTO users (name, age) VALUES (?,?)", ("Charile", 30))
    conn.commit()
except Exception as e:   ☜ 에러가 발생하면 여기가 실행되면서 데이터를 롤백한다.
    conn.rollback()
    print(e)
finally:
    #커서와 연결 닫기
    cursor.close()
    conn.close()

 

 

 

import sqlite3

# 예제 3  여러개의 데이터를 삽입하기
conn = sqlite3.connect("example.db") # 데이터 베이스 연결
cursor = conn.cursor() # 커서 생성

# 데이터 삽입을 위한 파라미터 세트
data = [("John", 30), ("Jane", 25), ("Mike", 40)]

try:
    # executemany()메서드를 이용한 여러개 데이터 삽입.
    cursor.executemany("INSERT INTO users (name, age) VALUES (?,?)", data)
    conn.commit() # 커밋
except Exception as e:
    conn.rollback() # 롤백
    print(e)
finally:
    # 커서와 연결 닫기
    cursor.close()
    conn.close()

 

 

 

import sqlite3

# 예제 4
conn = sqlite3.connect("example.db") # 데이터 베이스 연결
cursor = conn.cursor() # 커서 생성

try:
    # users 테이블에서 한 행 가져오기 fetchone() 메서드를 사용
    cursor.execute("SELECT * FROM users WHERE name = 'Mike'")
    row = cursor.fetchone() # fetchone 결과 세트에서 다음 행 반환

    #결과 출력
    if row:
        print(row)
    else:
        print("No data")
except Exception as e:
    print(e)
finally:
    # 커서와 연결 닫기
    cursor.close()
    conn.close()

 

 

 

import sqlite3

# 예제 5
conn = sqlite3.connect("example.db") # 데이터 베이스 연결
cursor = conn.cursor() # 커서 생성

try:
    # users 테이블에서 여러 행 가져오기
    cursor.execute("SELECT * FROM users")
    row = cursor.fetchmany(2) # fetchmany()를 사용,  결과 세트에서 다음 여러 개 행 가져옴.

    #결과 출력
    if row:
        print(row)
    else:
        print("No data")
except Exception as e:
    print(e)
finally:
    # 커서와 연결 닫기
    cursor.close()
    conn.close()

 

 

 

import sqlite3

# 예제 6  
conn = sqlite3.connect("example.db") # 데이터 베이스 연결
cursor = conn.cursor() # 커서 생성

try:
    # users 테이블에서 모든 행 가져오기
    cursor.execute("SELECT * FROM users")
    row = cursor.fetchall() # fetchall() 결과 세트에서 모든 행 가져옴.

    #결과 출력
    if row:
        print(row)
    else:
        print("No data")
except Exception as e:
    print(e)
finally:
    # 커서와 연결 닫기
    cursor.close()
    conn.close()
728x90