본문 바로가기
배웁시다!!

[파이썬] SQLite DB를 만들고 검색해보자! 데이터베이스

by 인포미스터리 2023. 5. 22.
반응형
import sqlite3

# Function to create a new database
def create_database():
    # Connect to or create the database file
    conn = sqlite3.connect('example.db')

    # Create a cursor object to interact with the database
    cursor = conn.cursor()

    # Create a table
    cursor.execute('''CREATE TABLE IF NOT EXISTS records
                    (id INTEGER PRIMARY KEY AUTOINCREMENT,
                     name TEXT,
                     age INTEGER)''')

    # Commit the changes and close the connection
    conn.commit()
    conn.close()

# Function to insert a record into the database
def insert_record(name, age):
    conn = sqlite3.connect('example.db')
    cursor = conn.cursor()

    # Insert a new record
    cursor.execute("INSERT INTO records (name, age) VALUES (?, ?)", (name, age))

    conn.commit()
    conn.close()

# Function to search for records by name
def search_records(name):
    conn = sqlite3.connect('example.db')
    cursor = conn.cursor()

    # Search for records
    cursor.execute("SELECT * FROM records WHERE name=?", (name,))
    result = cursor.fetchall()

    # Print the search results
    if result:
        for row in result:
            print(f"ID: {row[0]}, Name: {row[1]}, Age: {row[2]}")
    else:
        print("No records found.")

    conn.close()

# Create the database if it doesn't exist
create_database()

# Insert example records
insert_record("John Doe", 25)
insert_record("Jane Smith", 30)
insert_record("Bob Johnson", 35)

# Search for a record
search_records("John Doe")

이 프로그램은 Python의 sqlite3 모듈을 사용하여 SQLite 데이터베이스와 상호 작용합니다.

create_database() 함수는 존재하지 않는 경우 새 데이터베이스 파일을 생성하고 "id", "name" 및 "age"의 세 열이 있는 "records"라는 테이블을 생성합니다.

insert_record() 함수를 사용하면 이름과 나이를 지정하여 데이터베이스에 새 레코드를 삽입할 수 있습니다.

'search_records()' 함수는 제공된 이름을 기반으로 레코드를 검색하고 결과를 인쇄합니다.

테이블에 더 많은 열을 추가하거나 검색 기능을 확장하는 등 특정 요구 사항에 맞게 프로그램을 수정할 수 있습니다.

반응형