데이터 베이스

jinkyung·2021년 3월 11일
0

Python

목록 보기
12/19
post-custom-banner

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()

post-custom-banner

0개의 댓글