table 에 crud 할 수 있는 python code

2025. 3. 10. 23:20·Python

Windsurf 를 통해서 Claude 3.7 Sonnet 에게 테이블 명을 알려주고, CRUD 함수를 추가한 코드를 작성해 달라고 했습니다.

 

먼저, 테이블 생성 함수 create_user_test_table 를 정의할 때 테이블이 이미 존재하는제를 확인하면서 생성하네요.

그리고 데이터를 입력하고, 조회하고, 수정하고, 삭제하도록 했습니다.

 

import sys
from db_connect import connect_to_postgres, execute_query, close_connection

def create_user_test_table(connection):
    """
    Create the user_test table if it doesn't exist
    """
    create_table_query = """
    CREATE TABLE IF NOT EXISTS user_test (
        id SERIAL PRIMARY KEY,
        name VARCHAR(100) NOT NULL
    );
    """
    return execute_query(connection, create_table_query)

def insert_user(connection, user_id, name):
    """
    Insert a new user into the user_test table
    """
    insert_query = f"""
    INSERT INTO user_test (id, name)
    VALUES ({user_id}, '{name}')
    """
    return execute_query(connection, insert_query)

def update_user(connection, user_id, new_name):
    """
    Update a user's name in the user_test table
    """
    update_query = f"""
    UPDATE user_test
    SET name = '{new_name}'
    WHERE id = {user_id}
    """
    return execute_query(connection, update_query)

def select_all_users(connection):
    """
    Select all users from the user_test table
    """
    select_query = """
    SELECT id, name FROM user_test
    """
    return execute_query(connection, select_query)

def select_user_by_id(connection, user_id):
    """
    Select a user by ID from the user_test table
    """
    select_query = f"""
    SELECT id, name FROM user_test
    WHERE id = {user_id}
    """
    return execute_query(connection, select_query)

def delete_user(connection, user_id):
    """
    Delete a user from the user_test table by ID
    """
    delete_query = f"""
    DELETE FROM user_test
    WHERE id = {user_id}
    """
    return execute_query(connection, delete_query)

if __name__ == "__main__":
    # Connect to the database
    print("Connecting to PostgreSQL database...")
    conn = connect_to_postgres()
    
    if conn:
        try:
            # Create the user_test table if it doesn't exist
            create_user_test_table(conn)
            
            # Insert test data
            print("\nInserting test users...")
            insert_user(conn, 1, "John Doe")
            insert_user(conn, 2, "Jane Smith")
            insert_user(conn, 3, "Bob Johnson")
            
            # Select all users
            print("\nSelecting all users:")
            users = select_all_users(conn)
            if users:
                for user in users:
                    print(f"ID: {user[0]}, Name: {user[1]}")
            
            # Update a user
            print("\nUpdating user with ID 2...")
            update_user(conn, 2, "Jane Wilson")
            
            # Select the updated user
            print("\nSelecting updated user:")
            updated_user = select_user_by_id(conn, 2)
            if updated_user:
                for user in updated_user:
                    print(f"ID: {user[0]}, Name: {user[1]}")
            
            # Delete a user
            print("\nDeleting user with ID 3...")
            delete_user(conn, 3)
            
            # Select all users after deletion
            print("\nSelecting all users after deletion:")
            remaining_users = select_all_users(conn)
            if remaining_users:
                for user in remaining_users:
                    print(f"ID: {user[0]}, Name: {user[1]}")
            
        except Exception as e:
            print(f"Error: {e}")
        finally:
            # Close the connection
            close_connection(conn)

 

저작자표시 (새창열림)

'Python' 카테고리의 다른 글

KOSIS 통계정보를 이용한 데이터 조회 방법  (0) 2025.03.29
python+fastAPI+postgresql 로 구성된 환경에서 간단한 CRUD 구현2  (0) 2025.03.28
python+fastAPI+postgresql 로 구성된 환경에서 간단한 CRUD 구현1  (0) 2025.03.28
FastAPI + Python 으로 구성한 Back-End  (0) 2025.03.26
db 연결하는 python 코드  (0) 2025.03.10
'Python' 카테고리의 다른 글
  • python+fastAPI+postgresql 로 구성된 환경에서 간단한 CRUD 구현2
  • python+fastAPI+postgresql 로 구성된 환경에서 간단한 CRUD 구현1
  • FastAPI + Python 으로 구성한 Back-End
  • db 연결하는 python 코드
크레비즈
크레비즈
  • 크레비즈
    크레비즈 커뮤니티
    크레비즈
  • 전체
    오늘
    어제
    • 분류 전체보기 (69) N
      • Front-end (14) N
      • Back-end (7)
      • Python (11)
      • AI 공부 (7)
      • Mobile (4)
      • Script (4)
      • 인프라 (5)
      • 참고할 내용 (12)
      • reference page (0)
      • Project (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • Spring: the source for modern java
  • 공지사항

    • 크레비즈 커뮤니티
  • 인기 글

  • 태그

    딥러닝
    vue
    Claude
    ChatGPT
    CNN
    fastapi
    PYTHON
    Gemini
    claude sonnet
    Access Token
    토큰
    claude 3.7 sonnet
    vuejs
    Refresh Token
    windsurf
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
크레비즈
table 에 crud 할 수 있는 python code
상단으로

티스토리툴바