# 해당 파일이 있는 디렉토리에서 접속
mysql -h "엔드포인트" -P 포트번호 -u 이름 -p 패스워드
# local에서 작업한 database를 sql파일로 저장
mysqldump -u root -p zerobase > zerobase.sql
# asw서버에 해당 데이터 베이스로 들어가서 저장
use zerobase;
source zerobase.sql
# local에서 작업한 table을 sql파일로 저장
mysqldump -u root -p zerobase celeb > celeb.sql
# asw서버에 해당 데이터 베이스로 들어가서 저장
mysql -h "엔드포인트" -P 포트번호 -u 사용자이름 -p비밀번호 zerobase
source celeb.sql
# local에서 작업한 TABLE SKIMA를 sql파일로 저장
mysqldump -d -u root -p zerobase snl_show > snl.sql
# --set-gtid-purged-OFF 옵션
# 해당 가상환경에 패키지 설치
pip install mysql-connector-python
# LOCAL
local = mysql.connector.connect(
host = "localhost",
user = "이름",
password = "****",
database = "데이터베이스명"
)
local.close()
# AWS
remote = mysql.connector.connect(
host = "엔드포인트",
port = 포트번호,
user = "사용자이름",
password = "****",
database = "데이터베이스명"
)
remote.close()
SQL 문장을 실행시키는 역할
remote = mysql.connector.connect(
host = "엔드포인트",
port = 포트번호,
user = "사용자이름",
password = "****",
database = "데이터베이스명"
)
cur = remote.cursor()
cur.execute("CREATE TABLE sql_file (id int, filename varchar(16))")
remote.close()
cur = remote.cursor()
sql = open("test03.sql").read() # 여러개일때 multi=True 옵션 쓰기
cur.execute(sql)
모든 데이타를 한꺼번에 가져올 때 사용된다.
local = mysql.connector.connect(
host = "localhost",
user = "사용자이름",
password = "****",
database = "데이터베이스명"
)
cur = local.cursor(buffered=True)
cur.execute("SELECT * FROM sql_file")
result = cur.fetchall()
result
# [(1, 'test01.sql'), (2, 'test02.sql'), (3, 'test03.sql'), (4, 'test04.sql')]
df = pd.read_csv("2020_crime.csv", encoding='euc-kr')
df.head(2)
sql = "INSERT INTO crime_status VALUES ('2020', %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 crime_status")
result = cursor.fetchall()
for row in result:
print(row)
df = pd.DataFrame(result)
df.head()
이글은 제로베이스 데이터 취업스쿨의 강의자료 일부를 발췌하여 작성되었습니다.