






SQL File : SQL 쿼리를 모아놓은 파일
workspace 생성


SQL File 실행





SQL File로 Database 백업하기



Database Restore



Table Backup & Restore




Table Schema Backup












local = mysql.connector.connect(
host = 'localhost',
user = 'root',
password = ' '
)local = mysql.connector.connect(
host = ' ',
port = 3306,
user = 'admin',
password = ' '
)local.close()
remote.close()database = 'zerobase'remote = mysql.connector.connect(
host = " ",
port = 3306,
user = 'admin',
password = ' ',
database = 'zerobase'
)
cur = remote.cursor()
cur.execute('create table sql_file (id int, filename varchar(16))')
remote.close()
remote = mysql.connector.connect(
host = ' ',
port = 3306,
user = 'admin',
password = ' ',
database = 'zerobase'
)
cur = remote.cursor()
cur.execute('drop table sql_file')
remote.close()

remote = mysql.connector.connect(
host=' ',
port = 3306,
user = 'admin',
password = ' ',
database = 'zerobase'
)
cur = remote.cursor()
sql = open('test03.sql').read()
cur.execute(sql)
remote.close()

remote = mysql.connector.connect(
host = ' ',
port = 3306,
user = 'admin',
password = ' ',
database = 'zerobase'
)
cur = remote.cursor()
sql = open('test04.sql').read()
for result_iterator in cur.execute(sql, multi=True):
if result_iterator.with_rows:
print(result_iterator.fetchall())
else:
print(result_iterator.statement)
remote.commit()
remote.close()

remote = mysql.connector.connect(
host = ' ',
port = 3306,
user = 'admin',
password = ' ',
database = 'zerobase'
)
cur = remote.cursor(buffered=True)
cur.execute('select * from sql_file')
result = cur.fetchall()
remote.close()
result
# [(1, 'test01.sql'), (2, 'test02.sql'), (3, 'test03.sql'), (4, 'test04.sql')]
for result_iterator in result:
print(result_iterator)
# (1, 'test01.sql')
# (2, 'test02.sql')
# (3, 'test03.sql')
# (4, 'test04.sql')
import pandas as pd
df = pd.DataFrame(result)
df

import pandas as pd
df = pd.read_csv('police_station.csv')
df.tail()

import mysql.connector
conn = mysql.connector.connect(
host = ' ',
port = 3306,
user = 'zero',
password = 'zerobase',
database = 'zerobase'
)
# cursor(커서) 만들기
cursor = conn.cursor(buffered=True)
# insert 문 만들기
sql = 'insert into police_station values (%s, %s)'
# 데이터 입력
# cursor 관련 공식문서 : https://dev.mysql.com/doc/connectors/en/connector-python-api-mysqlcursor-execute.html
for i, row in df.iterrows():
cursor.execute(sql, tuple(row))
print(tuple(row))
conn.commit() # commit() : 데이터베이스에 적용하기 위한 명령
# 결과 확인
cursor.execute('select * from police_station')
result = cursor.fetchall()
# 검색 결과를 pandas로 읽기
df = pd.DataFrame(result)
df.head()

import pandas as pd
conn = mysql.connector.connect(
host = ' ',
port = 3306,
user = 'zero',
password = 'zerobase',
database = 'zerobase'
)
# 2020_crime.csv 데이터 (encoding='euc-kr') 읽어오기
df = pd.read_csv('2020_crime.csv', encoding='euc-kr')
df.head()

# insert 쿼리 작성
sql = "insert into crime_status values('2020', %s, %s, %s, %s)"
cursor = conn.cursor(buffered=True)
# 데이터를 crime_status 테이블에 insert
for i, row in df.iterrows():
cursor.execute(sql, tuple(row))
print(tuple(row))
conn.commit()
# crime_status 테이블의 데이터 조회
cursor.execute('select * from crime_status')
result = cursor.fetchall()
# 조회한 결과를 pandas로 변환해서 확인
df = pd.DataFrame(result)
df.head()

import mysql.connector
conn = mysql.connector.connect(
host = ' ',
port = 3306,
user = 'zero',
password = 'zerobase',
database = 'zerobase'
)
import pandas as pd
df = pd.read_csv("Seoul_CCTV.csv")
df.head()

3. cctv SQL 파일에서 데이터를 Pandas로 읽어오기
sql = 'create table cctv (기관명 varchar(8), 소계 int, 2013년도이전 int, 2014년 int, 2015년 int, 2016년 int)'
cursor = conn.cursor(buffered=True)
cursor.execute(sql)
sql = "insert into cctv values(%s, %s, %s, %s, %s, %s)"
cursor = conn.cursor(buffered=True)
for i, row in df.iterrows():
cursor.execute(sql, tuple(row))
print(tuple(row))
conn.commit()
cursor.execute('select * from cctv')
result = cursor.fetchall()
for row in result:
print(row)

6. 조회된 데이터를 Pandas로 변환하여 출력
df = pd.DataFrame(result)
df.head()

"이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다."