In [1]:
zigbang_df = pd.read_csv("zigbang.csv")
In [2]:
zigbang_df.head()
Out[2]:
In [3]:
import pymysql
In [15]:
db = pymysql.connect(
"db.fastcamp.us",
"root",
"dkstncks",
# "sakila",
charset="utf8",
)
In [16]:
# cursor 라는 객체를 가져와서 DB에 명령을 실행시킵니다.
cursor = db.cursor()
In [17]:
# 현재 있는 모든 데이터베이스 이름을 가져오는 명령어
SQL_QUERY = """
SHOW DATABASES;
"""
# pd.read_sql(SQL_QUERY, db) => Pandas의 DataFrame으로 만들어주는 명령어. 이렇게 해도 되지만 cursor를 이용해보자
cursor.execute(SQL_QUERY)
cursor.fetchall()
Out[17]:
In [18]:
#데이터베이스 생성(=="world", "sakila", ...)
SQL_QUERY = """
CREATE DATABASE kipoy;
"""
cursor.execute(SQL_QUERY)
In [19]:
pd.read_sql("SHOW DATABASES;", db)
Out[19]:
In [20]:
db.commit() # 만약 접속이 안 되면 이거 실행하고 해라.
In [21]:
db = pymysql.connect(
"db.fastcamp.us",
"root",
"dkstncks",
"kipoy",
charset="utf8",
)
In [22]:
# SHOW DATABASES;
# 접근한 이후 ( USE _______; ) => SHOW TABLES;
SQL_QUERY = """
SHOW TABLES;
"""
pd.read_sql(SQL_QUERY, db)
Out[22]:
In [23]:
# 1. 데이터베이스 연결
SQL_QUERY = """
USE kipoy;
"""
cursor.execute(SQL_QUERY)
# 2. 기존의 데이터베이스 제거
SQL_QUERY = """
DROP TABLE IF EXISTS provider;
"""
cursor.execute(SQL_QUERY)
# 3. 테이블 생성하기
SQL_QUERY = """
CREATE TABLE IF NOT EXISTS provider
(
provider_id int PRIMARY KEY,
name varchar(20)
)
;
"""
cursor.execute(SQL_QUERY)
db.commit()
In [24]:
SQL_QUERY = """
SELECT *
FROM provider
;
"""
pd.read_sql(SQL_QUERY, db)
Out[24]:
In [27]:
SQL_QUERY = """
INSERT INTO provider (provider_id, name)
VALUES (
1,
"다방"
);
"""
cursor.execute(SQL_QUERY)
db.commit()
In [28]:
pd.read_sql("SELECT * FROM provider;", db) #받아오는 데 시간이 꽤 걸리네
Out[28]:
In [29]:
db.commit()
In [30]:
SQL_QUERY = """
DROP TABLE IF EXISTS agency;
"""
cursor.execute(SQL_QUERY)
Out[30]:
In [31]:
SQL_QUERY = """
CREATE TABLE IF NOT EXISTS agency (
agency_id int,
provider_id int,
name varchar(100),
phonenumber varchar(20)
)
;
"""
cursor.execute(SQL_QUERY)
Out[31]:
In [13]:
db.commit()
In [32]:
pd.read_sql("SELECT * FROM agency;", db)
Out[32]:
In [33]:
SQL_QUERY = """
INSERT INTO agency (agency_id, provider_id, name, phonenumber)
VALUES (
4,
2,
"해퓌 부동산",
"010-6235-3317"
)
;
"""
cursor.execute(SQL_QUERY)
db.commit()
In [34]:
pd.read_sql("SELECT * FROM agency;", db)
Out[34]:
In [45]:
SQL_QUERY = """
SELECT *
FROM agency a
JOIN provider p
ON a.provider_id = p.provider_id
;
"""
pd.read_sql(SQL_QUERY, db)
Out[45]: