반응형
이번에 python 과 데이터베이스 플랫폼중 하나인 MariaDB랑 연결해야하는 일이 있었는데
마주했던 문제를 정리한다..(어차피 한개인데)
SQL 명령어를 실행할 때 사용되는 코딩은 다음과 같다
1. DB와의 연결
1 2 3 4 5 6 | conn = pymysql.connect(host='localhost', user='root', password='root', db='cve', charset='utf8' ) |
2. 실행할 명령어 작성
1 | test_sql_command = "INSERT INTO test VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" |
여기서 마주했던 문제가 있었는데
실행하려는 SQL명령어에서 %s 는 인자의 형식을 지정해주는게 아니다
즉, int형식이라서 %d, float형식이라서 %f같은걸 쓰면안된다.
만약 사용할 시 다음과 같은 에러가 발생한다
TypeError: %d format: a number is required, not str
TypeError: a float is required
중요한것은 모든 SQL명령어는 %s 를 사용해서 데이터를 지정해준다.
3. 실행할 명령어의 데이터 대입
1 2 | curs.execute(test_sql_command, (data1, data1, data1, data1, data1, data1, ...)) curs.commit() |
이렇게 test_sql_command SQL명령어를 실행을 해준다
반응형
'Data > Data Analysis' 카테고리의 다른 글
[SQL] Group by 명령어 (0) | 2018.11.26 |
---|---|
[SQL] SELECT 명령어 모음 (0) | 2018.11.26 |
[Pandas] csv 파일안에 list 형식으로 저장되어있을때 불러읽는법 (2) | 2018.11.05 |
[Pandas]Pandas dataframe pivot table 예제 (0) | 2018.09.06 |
[Pandas] pandas Dataframe 중복확인 및 중복제거 (2) | 2018.09.06 |