νλ‘κ·Έλλ° μΈκ³λ₯Ό νꡬν©μλ€.
<νκ΅μ λ ₯κ±°λμ μκ°λ³ μ λ ₯μμλ λ°μ΄ν° μμ§>
1νΈμ μ΄μ κ²μκΈ μ°Έκ³ λ°λλλ€.
3νΈμ μ΄ν κ²μκΈ μ°Έκ³ λ°λλλ€.
< 2. λ°μ΄ν°λ² μ΄μ€ ν μ΄λΈμ μ μ₯νκΈ° >
### μ¬μ©ν λΌμ΄λΈλ¬λ¦¬
import pandas as pd
λ°μ΄ν° μ½μ΄λ€μ΄κΈ°
file_path = "./01_data/new_data.csv"
df = pd.read_csv(file_path)
df
ν μ΄λΈ μ€κ³νκΈ°
- ν
μ΄λΈλͺ
, 컬λΌλͺ
, 컬λΌνμ
, null μ¬λΆμ λν μ μκ° νμν¨
(μ°μΆλ¬Ό)
- ν
μ΄λΈμ μμ
- ERD
- μ€ν¬λ¦½νΈλͺ
μΈμ
ν μ΄λΈ μ μμ μμ νμΌ μμ±
μ€ν¬λ¦½νΈ λͺ μΈμ(SQL) μμ± (word)
Heidi SQL μ½λ μμ±
κ²°κ³Ό
λ°μ΄ν° μ μ₯ μμ μ μ©ν λΌμ΄λΈλ¬λ¦¬
- sqlalchemy
- μ€μΉ : pip install sqlalchemy
- pymysql
- μ€μΉ : conda install -c conda-forge pymysql
- μ€μΉ : pip install pymysql
from sqlalchemy import create_engine
import pymysql
DB μ°κ²°νκΈ°
### μ°κ²°μ 보 μμ±
db_connection_info = "mysql+pymysql://μ μ ID:λΉλ°λ²νΈ@localhost:3306/dbμ΄λ¦"
### Database 컀λ₯μ
(μ°κ²°)νκΈ°
db_connection = create_engine(db_connection_info)
db_connection
λ°μ΄ν°νλ μμ 컬λΌλͺ μμ νκΈ°
### λ°μ΄ν°νλ μμ 컬λΌλͺ
μ ν
μ΄λΈμ 컬λΌλͺ
κ³Ό κ°κ² μμ
# - λ°μ΄ν°νλ μμ 컬λΌλͺ
μμ νκΈ°
df.columns = ["ymd", "time", "power"]
df
# - νΉμ 컬λΌλͺ
λ§ μμ νκ³ μ ν λ
# df.colums = [{"λ
λ" : "ymd"}]
λ°μ΄ν° μ μ₯νκΈ°
- name : ν μ΄λΈλͺ
- con : DB μ μμ 보
- index : λ°μ΄ν°νλ μμ μΈλ±μ€κ°μ ν¬ν¨ν μ§ μ¬λΆ(True ν¬ν¨, False λ―Έν¬ν¨)
- if_exists
* append : λ°μ΄ν°λ₯Ό κΈ°μ‘΄ ν
μ΄λΈμ μΆκ°
* fail : μ무 λμ νμ§ μκΈ°
* replace : λμΌν ν
μ΄λΈμ΄ μ‘΄μ¬νλ©΄ κΈ°μ‘΄ ν
μ΄λΈμ μμ νκ³ μλ‘μ΄ λ°μ΄ν°λ‘ μ μ₯
### λ°μ΄ν° μ μ₯νκΈ°
# - name : ν
μ΄λΈλͺ
# - con : DB μ μμ 보
# - index : λ°μ΄ν°νλ μμ μΈλ±μ€κ°μ ν¬ν¨ν μ§ μ¬λΆ(True ν¬ν¨, False λ―Έν¬ν¨)
# - if_exists
# * append : λ°μ΄ν°λ₯Ό κΈ°μ‘΄ ν
μ΄λΈμ μΆκ°
# * fail : μ무 λμ νμ§ μκΈ°
# * replace : λμΌν ν
μ΄λΈμ΄ μ‘΄μ¬νλ©΄ κΈ°μ‘΄ ν
μ΄λΈμ μμ νκ³ μλ‘μ΄ λ°μ΄ν°λ‘ μ μ₯
df.to_sql(name="time_power_demand",
con=db_connection,
index=False,
if_exist="append")
λ°μ΄ν°λ² μ΄μ€ μμ λ°ν (μ μ λκΈ°)
### μ°κ²° μ’
λ£νκΈ°
db_connection.dispose()
λ°μ΄ν°λ² μ΄μ€ μ°κ²°
### μ μ μ 보
# - μ μ ID or λλ©μΈ
host = "localhost"
# - μ¬μ©μκ³μ
user = "μ¬μ©μκ³μ "
# - ν¨μ€μλ
password = "ν¨μ€μλ"
# - λ°μ΄ν°λ² μ΄μ€λͺ
db = "λ°μ΄ν°λ² μ΄μ€λͺ
"
# - νκΈμ²λ¦¬
charset = "utf8"
# - μ‘°ν μ 컬λΌλͺ
μ λμμ 보μ¬μ€ μ§ μ¬λΆ κ²°μ
cursorclass = pymysql.cursors.DictCursor
# - μλλ°μ
autocommit = True
### DB μ μνκΈ°
try :
conn = pymysql.connect(host=host,
user=user,
password=password,
db=db,
charset=charset,
autocommit=autocommit,
cursorclass=cursorclass)
print("DBμ μ μ±κ³΅ >>>", conn)
except :
print("DB Server Checking...")
컀μ λ°μμ€κΈ°
### 컀μ λ°μμ€κΈ°
cur = conn.cursor()
cur
Select λ¬Έ μμ± ν DBμκ² μμ² λ° μλ΅ λ°κΈ°
### Select λ¬Έ μμ± ν DBμκ² μμ² λ° μλ΅ λ°κΈ°
sql = " Select * From time_power_demand "
rs_cnt = cur.execute(sql)
print(f"{rs_cnt}κ±΄μ΄ μ‘°νλμμ΅λλ€.")
λ°μ΄ν° λ°λ©
try :
cur.close()
conn.close()
except :
print("μ΄λ―Έ λͺ¨λ 컀μμ μ μμ λ³΄κ° λ°λ©λμμ΅λλ€.")