첫 쿼리 실행하기 (한국어)¶
🌐 first-query.md의 번역입니다. 영어 원문이 표준이며, CI가 영어 원문과의 구조 일치를 검사합니다.
이 단원에서는 CUBRID에 연결해 SQL 문 하나를 보내고, 그 결과로 돌아온 행 하나를 읽습니다. 데이터베이스와 Python을 준비하는 처음으로 CUBRID에 연결하기 다음에 이어지는 단원입니다.
시작하기 전에¶
준비 단원에서 마련한 것이 필요합니다.
- 응답하는 CUBRID 데이터베이스: Docker 실습 환경이
CUBRID is ready를 출력했거나 (시작하기 전에), 직접 쓸 데이터베이스의 다섯 가지 값을 알고 있어야 합니다. - 가상 환경에 설치한 pycubrid(1단계)
1단계와 같은 폴더에서 작업하세요. 새 터미널을 열었다면 source .venv/bin/activate로 가상 환경을
다시 활성화하세요. 각 단계는 터미널에서 실행하는 파일이므로, 앞서 열어 둔 Python 세션에서 이어지는
것은 없습니다.
프로그램 작성하기¶
그 폴더에 first_query.py 파일을 만듭니다.
import pycubrid
# Connection settings for the disposable local lab. With your own database,
# replace them with the values from your administrator.
conn = pycubrid.connect(
host="localhost", # the machine that runs the CUBRID broker
port=33000, # the broker port (33000 is the CUBRID default)
database="testdb", # the database name
user="dba",
password="",
)
cur = conn.cursor() # a cursor sends SQL and reads results
cur.execute("SELECT 1 + 1") # execute sends one SQL statement
print(cur.fetchone()) # fetchone reads one result row
cur.close()
conn.close()
실행하기¶
값 하나가 든 행 하나가 출력됩니다.
오류가 나면 마지막 줄을 첫 연결이 실패할 때에서 찾아보세요.
프로그램이 한 일¶
pycubrid.connect()는 데이터베이스와의 세션인 연결(connection)을 엽니다. 호스트, 포트, 데이터베이스, 사용자, 비밀번호의 다섯 가지 값이 필요합니다.conn.cursor()는 커서(cursor)를 만듭니다. 커서는 연결 안에서 일하며 SQL 문을 보내고 그 결과를 읽습니다.cur.execute()는 SQL 문 하나를 서버로 보냅니다.cur.fetchone()은 결과에서 한 행을 읽습니다. 행은 튜플이므로 값2하나는(2,)로 출력됩니다.close()는 커서를, 그다음 연결을 닫습니다. 서버가 쓰지 않는 세션을 계속 붙잡고 있지 않도록, 연 것은 닫으세요.
connect()는 기본적으로 서버에 닿는 데 자체 시간 제한을 두지 않습니다. 방화벽이 연결을 소리 없이
버리면 운영 체제가 포기할 때까지 기다립니다. 다른 컴퓨터의 데이터베이스라면 connect() 호출에 예를
들어 connect_timeout=10을 추가하세요. 연결 가이드에서 이
옵션과 다른 타임아웃을 설명합니다.
다음 단계¶
첫 쿼리는 계산된 값만 읽었습니다. 다음으로 행을 저장하고 다시 읽어 보세요. 작은 테이블을 만들어 행 하나를 저장하고, 새 연결에서 그 행을 읽습니다.