본문 바로가기
인공지능/데이터

SQL DB with Python 간단사용법

by EXUPERY 2021. 3. 12.
반응형

 

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

댓글