[SQL] SQL 학습일지 05

이소티·2023년 7월 30일

SQL

목록 보기
5/7

DATABASE 연결 / MYSQL 연결 예제


  1. CSV에 있는 DATA를 PYTHON으로 읽어오기

import pandas as pd

df = pd.read_csv('police_station.csv')
df.tail()



  1. AWS에 있는 zerobase로 연결

import mysql.connector

conn = mysql.connector.connect(
    host = "database-1.c9b0k6gtq6fn.ap-northeast-2.rds.amazonaws.com",
    port = 3306,
    user = "zero",
    password = "zerobase",
    database = "zerobase"
)




  1. DATA를 TABLE 에 INSERT

cursor = conn.cursor(buffered=True)
sql = "insert into police_station values (%s, %s)"
for i, row in df.iterrows() :
    cursor.execute(sql,tuple(row))
    print(tuple(row))
    conn.commit()




  1. 검색결과 PANDAS로 조회

cursor.execute('select * from police_station')
result = cursor.fetchall()
result

df = pd.DataFrame(result)
df.tail()







  1. CSV에 있는 DATA를 PYTHON으로 읽어오기

import pandas as pd

df = pd.read_csv('2020_crime.csv',encoding='euc-kr')
df.head(2)




2. AWS에 있는 zerobase로 연결

import mysql.connector

conn = mysql.connector.connect(
    host = "database-1.c9b0k6gtq6fn.ap-northeast-2.rds.amazonaws.com",
    port = 3306,
    user = "zero",
    password = "zerobase",
    database = "zerobase"
)





  1. DATA를 TABLE 에 INSERT

cursor = conn.cursor(buffered=True)
sql = "insert into crime_status values ('2020', %s, %s, %s, %s)"
for i, row in df.iterrows() :
    cursor.execute(sql, tuple(row))
    print(tuple(row))
    conn.commit()





4. 검색결과 PANDAS로 조회

cursor.execute('select * from crime_status')
result = cursor.fetchall()
for row in result :
    print(row)



df = pd.DataFrame(result)
df.tail()







  1. CSV에 있는 DATA를 PYTHON으로 읽어오기

import pandas as pd

df = pd.read_csv('Seoul_CCTV.csv', encoding = 'utf-8')
df.head()



  1. AWS에 있는 zerobase로 연결

import mysql.connector

conn = mysql.connector.connect(
    host = "database-1.c9b0k6gtq6fn.ap-northeast-2.rds.amazonaws.com",
    port = 3306,
    user = "zero",
    password = "zerobase",
    database = "zerobase"
)




  1. DATA를 TABLE 에 INSERT

  • table 생성

cursor = conn.cursor(buffered=True)
sql = "create table cctv (기관명 varchar(8), 소계 int, 2013년도이전 int, 2014년 int, 2015년 int, 2016년 int)"
cursor.execute(sql)



  • data insert

sql = "insert into cctv values (%s,%s,%s,%s,%s,%s)"
for i, row in df.iterrows():
    cursor.execute(sql, tuple(row))
    print(tuple(row))
    conn.commit()





4. 검색결과 PANDAS로 조회

cursor.execute("select * from cctv")
result = cursor.fetchall()
for row in result :
    print(row)



df = pd.DataFrame(result)
df.head()

profile
데이터 관련 학습 일지

0개의 댓글