λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ’» Programming/Database

[PostgreSQL/Python] psycopg2 : PostgreSQL λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘μ†ν•˜κ³  μƒν˜Έ μž‘μš©ν•˜κΈ°

by 뭅즀 2023. 6. 29.
λ°˜μ‘ν˜•
psycopg2

 


'psycopg2'
λŠ” Pythonμ—μ„œ PostgreSQL λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘μ†ν•˜κ³  μƒν˜Έ μž‘μš©ν•˜κΈ° μœ„ν•œ μΈκΈ°μžˆλŠ” PostgreSQL μ–΄λŒ‘ν„°μ΄λ‹€. 이 μ–΄λŒ‘ν„°λŠ” PostgreSQL λ°μ΄ν„°λ² μ΄μŠ€μ™€μ˜ 연결을 μš©μ΄ν•˜κ²Œ λ§Œλ“€μ–΄μ£Όλ©°, λ°μ΄ν„°λ² μ΄μŠ€μ— λŒ€ν•œ 쿼리 μ‹€ν–‰, 데이터 검색, μ‚½μž…, κ°±μ‹ , μ‚­μ œ λ“± λ‹€μ–‘ν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλ‹€.

 

'psycopg2'λŠ” PostgreSQL μ„œλ²„μ™€μ˜ 효율적인 톡신을 μœ„ν•΄ C ν™•μž₯ λͺ¨λ“ˆλ‘œ μž‘μ„±λ˜μ—ˆμœΌλ©°, 이λ₯Ό 톡해 λΉ λ₯Έ 데이터 처리 속도와 높은 μ„±λŠ₯을 μ œκ³΅ν•˜λŠ” 것은 λ¬Όλ‘ , λ‹€μ–‘ν•œ κΈ°λŠ₯κ³Ό νŽΈμ˜μ„±μ„ μ œκ³΅ν•˜μ—¬ κ°œλ°œμžκ°€ λ°μ΄ν„°λ² μ΄μŠ€μ™€ μ†μ‰½κ²Œ μƒν˜Έ μž‘μš©ν•  수 μžˆλ„λ‘ 도와쀀닀.

 

'psycopg2'λ₯Ό μ‚¬μš©ν•˜λ©΄ Python μ½”λ“œμ—μ„œ λ‹€μŒκ³Ό 같은 μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλ‹€.

  • PostgreSQL λ°μ΄ν„°λ² μ΄μŠ€μ— μ—°κ²°ν•˜κ³  μ—°κ²° ν•΄μ œν•˜κΈ°
  • 쿼리 μ‹€ν–‰ 및 κ²°κ³Ό κ°€μ Έμ˜€κΈ°
  • 데이터 μ‚½μž…, κ°±μ‹ , μ‚­μ œν•˜κΈ°
  • νŠΈλžœμž­μ…˜ κ΄€λ¦¬ν•˜κΈ°
  • λ°μ΄ν„°λ² μ΄μŠ€ 였λ₯˜ 및 μ˜ˆμ™Έ μ²˜λ¦¬ν•˜κΈ°

μ‚¬μš© μ˜ˆμ‹œ
import psycopg2

# PostgreSQL λ°μ΄ν„°λ² μ΄μŠ€μ— μ—°κ²°
conn = psycopg2.connect(
    host="your_host",
    database="your_database",
    user="your_user",
    password="your_password"
)

# μ»€μ„œ 생성
cur = conn.cursor()

# 쿼리 μ‹€ν–‰ μ˜ˆμ‹œ
cur.execute("SELECT * FROM your_table")
rows = cur.fetchall()

# κ²°κ³Ό 좜λ ₯
for row in rows:
    print(row)

# μ—°κ²° 및 μ»€μ„œ λ‹«κΈ°
cur.close()
conn.close()

μœ„ μ˜ˆμ‹œλŠ” λ°μ΄ν„°λ² μ΄μŠ€μ— μ—°κ²°ν•˜κ³  your_tableμ—μ„œ λͺ¨λ“  λ ˆμ½”λ“œλ₯Ό μ„ νƒν•˜λŠ” 쿼리λ₯Ό μ‹€ν–‰ν•˜λŠ” 방법을 보여쀀닀. κ·Έλ¦¬κ³  cur.fetchall()λ₯Ό ν†΅ν•΄ 쿼리 κ²°κ³Όλ₯Ό κ°€μ Έμ˜¨ ν›„, κ²°κ³Όλ₯Ό λ°˜λ³΅ν•˜μ—¬ 좜λ ₯ν•œλ‹€.

 

더 λ³΅μž‘ν•œ 쿼리와 데이터 μ‘°μž‘ μž‘μ—…μ„ μˆ˜ν–‰ν•  μˆ˜λ„ 있으며, 'psycopg2'의 λ‹€μ–‘ν•œ κΈ°λŠ₯κ³Ό λ©”μ„œλ“œλ₯Ό ν™œμš©ν•˜μ—¬ λ°μ΄ν„°λ² μ΄μŠ€ μž‘μ—…μ„ μœ μ—°ν•˜κ²Œ μ²˜λ¦¬ν•  수 μžˆλ‹€.

 

your_host, your_database, your_user, your_password 및 your_table은 각각 μ‹€μ œ PostgreSQL 호슀트, λ°μ΄ν„°λ² μ΄μŠ€, μ‚¬μš©μž, λΉ„λ°€λ²ˆν˜Έ 및 ν…Œμ΄λΈ” 이름에 ν•΄λ‹Ήν•˜λŠ” κ°’μœΌλ‘œ λŒ€μ²΄ν•΄μ•Ό ν•œλ‹€.

 

 

 

λ°˜μ‘ν˜•