250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 파이썬
- FLASK
- POD
- OpenCV
- yaml
- numpy
- Python
- 웹 프로그래밍
- Docker
- 데이터베이스
- 딥러닝
- GUI
- 컴퓨터 비전
- Deep Learning
- tensorflow
- vue.js
- kubernetes
- MariaDB
- 논문 리뷰
- paper review
- 장고
- Web Programming
- 파이토치
- Tkinter
- 그래픽 유저 인터페이스
- pytorch
- 텐서플로우
- k8s
- Computer Vision
- Django
Archives
- Today
- Total
Maxima's Lab
[Database, DB] psycopg2 패키지를 활용하여 PostgreSQL 사용하는 방법 (Table 생성, 삭제, Data 초기화) 본문
Web Programming
[Database, DB] psycopg2 패키지를 활용하여 PostgreSQL 사용하는 방법 (Table 생성, 삭제, Data 초기화)
Minima 2024. 4. 17. 00:19728x90
SMALL
안녕하세요, 오늘은 psycopg2 패키지를 활용하여, PostgreSQL (DB)를 사용하는 방법에 대해서 알아보겠습니다.
먼저, psycopg2 패키지를 설치합니다.
pip install psycopg2-binary
이어서, DB에 연결하여, Table을 생성하는 방법에 대해서 알아보겠습니다.
import psycopg2
conn = psycopg2.connect(host='localhost', database='postgres', user='postgres', password='<Enter Password>', port=5432)
cur = conn.cursor()
print(cur.closed == 0)
create_users_table = """
CREATE TABLE IF NOT EXISTS users (
user_id SERIAL PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
password VARCHAR(50) UNIQUE NOT NULL,
email VARCHAR(100),
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
"""
try:
cur.execute(create_users_table)
conn.commit()
except Exception as e:
print(e)
위의 코드에서 cur.closed == 0 이면 정상적으로 DB 연결이 지속되고 있다는 의미입니다.
또한, "users" 라는 table을 생성하기 위한 sql을 작성하였으며, columns은 순서대로 user_id, username, password, email, created_at 입니다.
다음은, Table을 삭제하는 방법에 대해서 알아보겠습니다.
import psycopg2
conn = psycopg2.connect(host='localhost', database='postgres', user='postgres', password='temptemp', port=5432)
cur = conn.cursor()
print(cur.closed == 0)
def drop_table(connection, table_name):
cursor = connection.cursor()
try:
cursor.execute(f"DROP TABLE IF EXISTS {table_name} CASCADE;")
connection.commit()
print(f"Table '{table_name}' dropped successfully")
except Exception as e:
print(f"An error occurred: {e}")
try:
drop_table(conn, 'users')
except Exception as e:
print(e)
위의 코드에서 drop_table이라는 함수는 connection 변수와 table_name을 입력으로 받아 해당 Table이 존재하는 경우 삭제하는 함수입니다.
다음은 특정 Table의 Data를 초기화하는 방법입니다.
import psycopg2
conn = psycopg2.connect(host='localhost', database='postgres', user='postgres', password='temptemp', port=5432)
cur = conn.cursor()
print(cur.closed == 0)
def reset_data(connection, table_name):
cursor = connection.cursor()
cursor.execute(f"TRUNCATE TABLE {table_name} RESTART IDENTITY;")
connection.commit()
print("Table reset and data initialized successfully")
try:
reset_data(conn, 'users')
except Exception as e:
print(e)
위의 코드에서 reset_data 함수는 connection 변수와 table_name을 입력으로 받아 해당 Table 내 Data를 Reset하는 함수입니다.
지금까지, psycopg2 패키지를 활용해서 PostgreSQL을 사용하는 방법에 대해서 알아보았습니다.
감사드립니다.
728x90
LIST
'Web Programming' 카테고리의 다른 글
[Vue.js] PrimeVue 사용하는 방법 (UI Component 라이브러리) (0) | 2024.04.30 |
---|---|
[Vue.js] Material Design Icons (MDI) 사용법 (0) | 2024.04.29 |
[Database, DB] PostgreSQL & DBeaver Community 설치 및 사용 방법 (0) | 2024.04.15 |
[Vue.js 3 + Vuetify 3] Data table (Component) 사용법 (0) | 2024.03.12 |
[Vue.js 3 + Vuetify 3] File inputs (Component) 사용법 (0) | 2024.03.12 |
Comments