sql file 실행
mysql> source </path/filename.sql>
mysql> \. </path/filename.sql>
mysql> \. <filename.sql> # 현재 폴더에 파일 있으면 path 생략 가능
% cd sql_ws
sql_ws % mysql -u root -p zerobase
source test01.sql
% mysql -u root -p zerobase < zerobase.sql
- sql파일로 데이터베이스 백업
% mysqldump -u root -p zerobase > zerobase.sql # 특정 database 백업 ( > : 실행과 반대 )
% mysqldump -u username -p --all-databases > backup.sql # 모든 database 백업
sql_ws % mysql -h "앤드포인트" -P 3306 -u admin -p
sql_ws % mysqldump -u root -p zerobase celeb > celeb.sql
% mysqldump -d -u username -p dbname tablename > backup.sql # 특정 table 스키마 백업
% mysqldump -d -u username -p dbname > backup.sql # 모든 테이블 스키마 백업
문제.
police_station 테이블 아래 데이터를 insert 하기 위한 sql 파일을 생성하세요.
# vs code에 먼저 작성( insert.sql파일 생성)
insert into police_station VALUES ('서울특별시경찰청','서울시 종로구 사직로8길31');
insert into police_station VALUES ('서울중부경찰서','서울특별시 중구 수표로 27');
insert into police_station VALUES ('서울종로경찰서','서울특별시 종로구 율곡로 46');
insert into police_station VALUES ('서울남대문경찰서','서울특별시 중구 한강대로 410');
# cmd
use zerobse
source insert.sql
select * from police_station;
- 파이썬에서 mysql 사용
pip install mysql-connector-python
1) mysql에 접속하기 위한 코드
import mysql.connector
mydb=mysql.connector.connect(
host='<hsotname>',
user='<username>',
password='<password>'
)
# 쿼리 실행 코드
mycursor=mydb.cursor()
mycursor.execute(<query>)
2) aws rds(database-1) 연결
remote=mysql.connector.connect(
host="엔드포인트 주소",
port=3306,
user='admin',
password=' '
database='<database_name>' # 특정 데이터베이스에 접속하기 위한 코드
)
mydb.close()
remote.close()
mydb=mysql.connector.connect(
host=
user=
password=
database=
)
mycursor= mydb.cursor()
sql=open('filename.sql').read()
mycursor.execute(sql,multi=True) # multi=True : 쿼리 여려개 존재
remote=mysql.connector.connect(
host="database-1.cwqkoizytqee.ap-northeast-1.rds.amazonaws.com",
port=3306,
user='admin',
password='zerobase',
database='zerobase'
)
cur=remote.cursor(buffered=True) # 데이터 양 많을 경우 buffered=True
cur.execute('select * from sql_file')
result=cur.fetchall()
for result_iterator in result:
print(result_iterator)
remote.close()
import pandas as pd
df=pd.read_csv('police_station.csv')
2) zerobase에 연결
import mysql.connector
conn=mysql.connector.connect(
host="database-1.cwqkoizytqee.ap-northeast-1.rds.amazonaws.com",
port=3306,
user='admin',
password='zerobase',
database='zerobase'
)
3) cursor 만들기
cursor=conn.coursor(buffered=True)
4) insert문
sql='insert into police_station values(%s,%s)'
5) 데이터 입력
for i, row in df.iterrows():
cursor.execute(sql,tuple(row))
print(tuple(row))
conn.commit #commit : database에 적용하기 위한 명령어
6) 결과 확인
cursor.execute('select * from police_station')
result=cursor.fetchall()
for row in result:
print(row)