랭귀지/python
[python] PyMySQL을 이용한 MySQL
유키공
2018. 1. 10. 17:00
[python] PyMySQL을 이용한 MySQL 사용법 예제
파이썬에서 PyMySQL을 이용한 MySQL 사용법을 알아보겠습니다. PyMySQL을 설치합니다.$ pip install PyMySQLMySQL 접속 아이디는 user이고, 패스워드는 설정되지 않은 것으로 가정합니다. 데이터베이스(database) 생성
import pymysql.cursors conn = pymysql.connect(host='localhost', user='user', password=None, charset='utf8mb4') try: with conn.cursor() as cursor: sql = 'CREATE DATABASE test' cursor.execute(sql) conn.commit() finally: conn.close()테이블(table) 생성
import pymysql.cursors conn = pymysql.connect(host='localhost', user='user', password=None, db='test', charset='utf8mb4') try: with conn.cursor() as cursor: sql = ''' CREATE TABLE users ( id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, email varchar(255) NOT NULL, password varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ''' cursor.execute(sql) conn.commit() finally: conn.close()데이터 삽입(insert)
import pymysql.cursors conn = pymysql.connect(host='localhost', user='user', password=None, db='test', charset='utf8mb4') try: with conn.cursor() as cursor: sql = 'INSERT INTO users (email, password) VALUES (%s, %s)' cursor.execute(sql, ('test@test.com', 'my-passwd')) conn.commit() print(cursor.lastrowid) # 1 (last insert id) finally: conn.close()1.데이터 조회(select)
import pymysql.cursors conn = pymysql.connect(host='localhost', user='user', password=None, db='test', charset='utf8mb4') try: with conn.cursor() as cursor: sql = 'SELECT * FROM users WHERE email = %s' cursor.execute(sql, ('test@test.com',)) result = cursor.fetchone() print(result) # (1, 'test@test.com', 'my-passwd') finally: conn.close()2.데이터 조회(select)
import pymysql.cursors conn = pymysql.connect(host='localhost', user='user', password=None, db='test', charset='utf8mb4') try: with conn.cursor() as cursor: sql = 'INSERT INTO users (email, password) VALUES (%s, %s)' cursor.execute(sql, ('your@test.com', 'your-passwd')) conn.commit() with conn.cursor() as cursor: sql = 'SELECT * FROM users' cursor.execute(sql) result = cursor.fetchall() print(result) # ((1, 'test@test.com', 'my-passwd'), (2, 'your@test.com', 'your-passwd')) finally: conn.close()데이터 수정(update)
import pymysql.cursors conn = pymysql.connect(host='localhost', user='user', password=None, db='test', charset='utf8mb4') try: with conn.cursor() as cursor: sql = 'UPDATE users SET email = %s WHERE email = %s' cursor.execute(sql, ('my@test.com', 'test@test.com')) conn.commit() print(cursor.rowcount) # 1 (affected rows) finally: conn.close()데이터 삭제(delete)
import pymysql.cursors conn = pymysql.connect(host='localhost', user='user', password=None, db='test', charset='utf8mb4') try: with conn.cursor() as cursor: sql = 'DELETE FROM users WHERE email = %s' cursor.execute(sql, ('my@test.com',)) conn.commit() print(cursor.rowcount) # 1 (affected rows) finally: conn.close()