반응형
SQL with Python
간단사용법
Mysql, sqlite3등 SQL DB에서 커서 사용법은 대부분 비슷합니다. 이 포스트에서는 psycopg2를 이용한 쿼리를 다루겠습니다. 아래 psycopg2.connect 를 이용해 connection 변수가 데이터베이스와 연결할 수 있도록 다음 변수들에 알맞은 정보를 담습니다
CONNECTION
- host: 데이터베이스 호스트 주소를 입력합니다.
- user: 데이터베이스 유저 정보를 입력합니다.
- password: 데이터베이스 비밀번호를 입력합니다.
- database: 데이터베이스 이름을 입력합니다.
# PostgreSQL DB에 접근하기 위해서
# python에서는 psycopg2를 이용
import psycopg2
host = 'xxxx.db.elephantsql.com'
user = 'xxxxxx'
password = '1q2w3e4r5t6y7u8i9o0p'
database = 'xxxxxx'
connection = psycopg2.connect(
host=host,
user=user,
password=password,
database=database
)
커서생성
cur = connection.cursor()
커서 메소드
### execute
# Create Table
cur.execute("CREATE TABLE test_table (
name VARCHAR(32),
age INT);
")
cur.execute("""
CREATE TABLE passenger (
Id INTEGER PRIMARY KEY,
Survived INTEGER,
Pclass INTEGER,
Name VARCHAR(128),
Sex VARCHAR(12),
Age FLOAT,
Siblings_Spouses_Aboard INTEGER,
Parents_Children_Aboard INTEGER,
Fare FLOAT
);""")
# INSERT # 튜플로 삽입
cur.execute("INSERT INTO test_table (name, age) VALUES ('JOHN', 20);")
cur.execute(f"""INSERT INTO passenger
(Id,Survived,Pclass, Name,
Sex, Age, Siblings_Spouses_Aboard,
Parents_Children_Aboard,Fare)
Values {rt}""") # rt는 임의로 row를 tuple로 만든 것
# query
cur.execute("SELECT * FROM passenger;")
## fetch
# excute를 한 값들을 출력
curs.fetchall() # 전부출력
curs.fetchone() # 하나씩 출력
curs.fetchmany(n) # n개 출력
# 변수에 저장해서 사용도 가능
rows = curs.fetchall()
print(rows) # 전부 출력
print(rows[0]) # 첫번째 행 출력
print(rows[1]) # 두번째 행 출력
## Close
cur.close()
connection.close()
반응형
'인공지능 > 데이터' 카테고리의 다른 글
Scraping (Beautiful Soup) (0) | 2021.03.16 |
---|---|
ORM (SQL Alchemy) (0) | 2021.03.16 |
GIT DOCKER SQL MongoDB (0) | 2021.03.09 |
환경만들기, DOCKER COMPOSE (0) | 2021.03.08 |
DOCKER BASIC (0) | 2021.03.08 |
댓글