import mysql.connector
remote = mysql.connector.connect (
host = "database-1.cn462iy0q6hf.ap-southeast-2.rds.amazonaws.com",
port = 3306,
user = "admin",
password = "adminadmin",
database = "zerobase"
)
mycursor = remote.cursor() // 이 문법은 알아봐야겠음
mycursor.execute("CREATE TABLE sql_file(id int, filename varchar(16))")
remote.close()
//실행결과
zerobase에 sql_file이라는 테이블 생성
그럼 테이블 삭제는 ? 동일한 코드에서 execte절에서 DROP 사용 !
import mysql.connector
remote = mysql.connector.connect (
host = "database-1.cn462iy0q6hf.ap-southeast-2.rds.amazonaws.com",
port = 3306,
user = "admin",
password = "adminadmin",
database = "zerobase"
) //여기까지는 AWS RDS 연결
mycursor = remote.cursor()
sql = open ("test03.sql").read() // sql 변수에 test03파일을 읽고 넣어라
mycursor.execute(sql) // sql 변수 실행
remote.close()
예시1) 파이썬을 통해서 테이블에 데이터 넣기
import mysql.connector
remote = mysql.connector.connect (
host = "database-1.cn462iy0q6hf.ap-southeast-2.rds.amazonaws.com",
port = 3306,
user = "admin",
password = "adminadmin",
database = "zerobase"
)
mycursor = remote.cursor()
sql = open ("test04.sql").read()
for result_iterator in mycursor.execute(sql, multi=True):
if result_iterator.with_rows:
print(result_iterator.fetchall())
else:
print(result_iterator.statement)
remote.commit()
remote.close()
Fetch all
Mycursor.execute()
Result = mycursor.fetchall()
For data in result
print(data)
지난시간에 쿼리를 한 이후에 결과값이 ROWS 인 경우 fetchall 사용
실행쿼리가 아닌 셀렉트 처럼 조회쿼리 경우 fetchall을 통해 가져올 수 있는데
반복문을 쓸 경우 ROW마다 프린트 할 수 있음
result = mycursor.fetchall()
for result_iterator in result:
print(result_iterator)
예시1) * 반복문 미활용
import mysql.connector
remote = mysql.connector.connect (
host = "database-1.cn462iy0q6hf.ap-southeast-2.rds.amazonaws.com",
port = 3306,
user = "admin",
password = "adminadmin",
database = "zerobase"
)
mycursor = remote.cursor(buffered=True)
mycursor.execute("SELECT * FROM sql_file")
result = mycursor.fetchall()
print(result)
remote.close()
이 경우 fetchall을 통해 가져온 데이터들이 열마다 구분이 되지않고
한번에 출력되는 결과를 가져온다.
예시1) * 반복문 활용
import mysql.connector
remote = mysql.connector.connect (
host = "database-1.cn462iy0q6hf.ap-southeast-2.rds.amazonaws.com",
port = 3306,
user = "admin",
password = "adminadmin",
database = "zerobase"
)
mycursor = remote.cursor(buffered=True)
mycursor.execute("SELECT * FROM sql_file")
result = mycursor.fetchall()
for result_iterator in result:
print(result_iterator)
remote.close()
각각 row마다 결과를 내준다.