SQLite
import sqlite3
# 1) 연결 객체 생성, db 파일 생성, 이미 파일이 존재하면 연결만 한다
connection = sqlite3.connect("human.db")
print(connection)
# 2) 커서 객체는 App과 db를 연결(명령 수행, select문의 데이터 읽은 위치(몇번째인지))
cursor = connection.cursor()
print(cursor)
# 3) 테이블이 있다면 테이블 제거하기
cursor.execute("DROP TABLE IF EXISTS humanInfo")
# 4) 테이블을 생성
cursor.execute("""
CREATE TABLE humanInfo(
name VARCHAR(20),
addr VARCHAR(20),
gender CHAR(1),
birth DATE,
korean INT,
math INT,
english INT
)
""")
# 5) 데이터 1개 저장하기
cursor.execute("""
INSERT INTO humanInfo VALUES('홍길동', '전남 장성', 'm',
'1459-10-10', 99, 98, 97)
""")
connection.commit()
# 6) 데이터 1개 읽어오기
cursor.execute("SELECT * FROM humanInfo")
print(cursor.fetchone()) # 1개 읽기
# 7) 데이터 여러 개 저장하기
cursor.executescript("""
INSERT INTO humanInfo VALUES('임꺽정', '구월산', 'm',
'1459-10-10', 99, 98, 97);
INSERT INTO humanInfo VALUES('아이유', '황해도', 'f',
'1459-10-10', 99, 98, 97);
INSERT INTO humanInfo VALUES('장나라', '서울 종로', 'f',
'1459-10-10', 99, 98, 97);
INSERT INTO humanInfo VALUES('차돌바위', '충남 보령', 'm',
'1459-10-10', 99, 98, 97);
INSERT INTO humanInfo VALUES('문근영', '서울 북촌', 'f',
'1459-10-10', 99, 98, 97);
""")
connection.commit()
sqlite를 통해 데이터 확인
# 8) 데이터 읽어오기
cursor.execute("SELECT * FROM humanInfo")
#print(cursor.fetchmany(3)) # 3개만 읽어라
listHuman = cursor.fetchall()# 다 읽어라(위에 3개를 읽어서 이후부터 읽음)
print(len(listHuman))
for human in listHuman:
print(human)
print("-" * 60)
cursor.execute("SELECT * FROM humanInfo")
for row in cursor:
print(row)
print("-" * 60)
for row in cursor.execute("SELECT * FROM humanInfo"):
print(row)
# 필드명 확인하기
print(cursor.description)
print("-" * 60)
for field in cursor.description:
print(field[0], end="\t")
cursor.close()
connection.close()