jupyter notebook / vscode 모두 사용 가능
01. 접속하는 법
02.접속한 DB에 대해서 쿼리문을 날려주는 법
01. Create Connection
import mysql.connector
mydb = mysql.connector.connect(
host = ,
user = ,
port = ,
password = ,
)
local 으로 생성할때는 localhost, user은 root / AWS RDS로 접근할때는 엔드포인트와 포트num을 추가해주면 된다.
02. Execute SQL
import mysql.connector
remote = mysql.connector.connect(
host = "엔드포인트",
port = 포트,
user = "admin",
password = "",
database = "zerobase"
)
cur = remote.cursor()
cur.execute("CREATE TABLE sql_file (id int, filename varchar(16))")
remote.close()
코드 실행 후 하단 terminal로 zerobase의 table을 확인해보면 sql_file이 생성되어 있고 id, filename이 들어가 있는 것을 확인할 수 있다.
cur = remote.cursor()
cur.execute("DROP TABLE sql_file")
생성한 테이블을 삭제하고 싶다면, 위의 remote 코드를 같게 써준뒤 커서cur의 코드만 DROP 코드로 수정해주면 된다.
예제)
remote = mysql.connector.connect(
host = "",
port = ,
user = "",
password = "",
database = ""
)
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()
test04.sql 파일에 value를 insert 하는 쿼리문 4개를 적어두었고, 이를 적용시켰다.
for 반복문은 해당 코드가 정확하게 돌아가는지 확인하고자 적어주었다. 그냥 cur.execute(sql, multi=True)만 적어주어도 된다.
for문때문에 .commit()을 추가하였다.
'mySql' 카테고리의 다른 글
[mysql] Primary Key (0) | 2022.12.09 |
---|---|
[mysql] python_ fetch all() / buffered / dataframe (0) | 2022.12.09 |
[mysql] backup / restore (0) | 2022.12.07 |
AWS RDS (0) | 2022.12.07 |
[mysql] Union / Join / Concat / Alias / Distinct / Limit (0) | 2022.12.05 |