cursor
는 데이터베이스 연결을 통해 SQL 문장을 실행하고 결과를 가져오는 작업 단위입니다.
import psycopg2
conn = psycopg2.connect("dbname=test user=postgres password=secret")
cur = conn.cursor()
cur.execute("SELECT * FROM users;")
rows = cur.fetchall()
위 코드에서 cur
이 바로 cursor
객체입니다.
cursor.execute(...)
cursor.fetchone()
, cursor.fetchall()
mogrify
는 SQL 구문을 실행하지 않고, 실행 직전에 DB에 전달될 SQL문을 문자열 형태로 보여주는 메서드입니다.
즉, SQL 구문을 안전하게 문자열로 변환해주는 디버깅용 도구입니다.
query = "INSERT INTO users (name, age) VALUES (%s, %s)"
params = ("Alice", 30)
print(cur.mogrify(query, params))
출력:
b"INSERT INTO users (name, age) VALUES ('Alice', 30)"
.decode()
로 문자열로 변환해야 함항목 | 설명 |
---|---|
cursor | SQL 실행 및 결과 조회를 위한 객체 |
cursor.execute(...) | SQL을 실제로 실행함 |
cursor.mogrify(...) | SQL을 실행하지 않고, 실행될 SQL을 문자열로 보여줌 |