1. MySQLclient
- 파이썬에서는 MySQL 서버와 통신할 수 있는 파이썬용 데이터베이스 커넥터를 다양하게 지원
- PyMySQL, mysqlclient를 가장 많이 사용함
- 사용법은 비슷하나 속도가 빠른 mysqlclient를 권장하고 있음
pip install mysqlclient
import MySQLdb
1-1. MySQL 접속하기
- MySQLdb.connect(host='IP주소', user='사용자', password='비밀번호',db='DB명')
1-2. cursor 생성하기
- 하나의 DataBase Connection에 대해 독립적을 SQL문을 실행할 수 있는 작업환경을 제공하는 객체
- 하나의 connection에에 동시에 한 개의 cursor만 생성할 수 있으며, cursor를 통해 SQL문을 실행하면 실행결과를 튜플 단위로 반환
1-3. SQL문 결과 가져오기
- fetchall(): 한번에 모든 tuple을 가져옴, 검색 결과가 매우 많다면 메모리 오버헤드가 발생할 수 있음
- fetchone(): 한번에 하나의 tuple을 가져옴, 다시 fetchone() 메서
1-4. dict 형태로 결과를 반환하기
- cursor(MySQLdb.cursors.DictCursor)
1-4. Cursor와 Connection 닫아주기
2. 데이터 삽입하기
문제
- 회원가입 프로그램을 만들어보자
- 단, 중복 데이터 또는 잘못된 데이터로 인한 오류시 '다시 입력하세요' 라는 메세지와 함께 다시 등록
- 단, 회원 가입 후 '추가로 가입하시겠습니까?(Y/n)'을 입력받아 추가로 입력할 수 있도록
3. 데이터 수정하기
4. 데이터 삭제하기
문제
- 로그인 프로그램을 작성해보자
- 아이디, 비밀번호가 맞을 경우 '로그인 되었습니다', 틀린 경우 '아이디 또는 비밀번호를 확인하세요'라고 출력
import MySQLdb
db = MySQLdb.connect('localhost', 'root', '1111', 'kdt')
cur = db.cursor()
userid = input('아이디를 입력하세요: ')
userpw = input('비밀번호를 입력하세요: ')
sql = 'select userid from member where userid=%s and userpw=%s'
data = (userid, userpw)
result = cur.execute(sql, data)
if result > 0:
print('로그인 되었습니다')
else:
print('아이디 또는 비밀번호를 확인하세요.')
cur.close()
db.close()
'데이터베이스' 카테고리의 다른 글
3. MySQL 데이터베이스 관리와 사용자 권한 설정 (0) | 2024.03.27 |
---|---|
2. SQL 기초: 데이터베이스 조작 및 기본 명령어 (0) | 2024.03.26 |
1. 데이터베이스 입문기 (0) | 2024.03.25 |