# 5-1. 데이터 변경하기(revise)
elif cmd == 'r':
print("※ 정보를 변경할 수강생의 선택은 전화번호를 통해서만 가능합니다.")
phone = input("전화번호(숫자 11자리): ")
sql = "SELECT * FROM student WHERE phone = '{}')".format(phone)
cursor.execute(sql)
result = cursor.fetchall()
print_result(result)
con = input("\n어떤 정보를 변경하시겠습니까(이름/생년월일/소속/전화번호/거주지)? ")
데이터 삭제 때와 마찬가지로 이름, 생년월일처럼 중복된 값이 들어올 가능성이 없는 전화번호를 KEY로 입력받아 사용하였습니다. 또한 변경 대상이 맞는 지 확인할 수 있도록 입력 받은 KEY값을 가진 데이터를 출력해주는 코드를 추가하였습니다.
데이터 변경의 경우 특정 칼럼을 각각 변경할 수 있도록 아래와 같은 구조로 'if문'을 사용했습니다.
elif cmd == 'r':
con = input("\n어떤 정보를 변경하시겠습니까(이름/생년월일/소속/전화번호/거주지)? ")
if con == '이름': <code>
elif con == '생년월일': <code>
elif con == '소속': <code>
elif con == '전화번호': <code>
elif con == '거주지': <code>
# 5-1-1. 변경 대상: 이름
if con == '이름':
print("\n해당 수강생의 이름을 무엇으로 수정하시겠습니까?")
name = input("> ")
sql = "UPDATE student SET name = '{}' where phone = '{}'".format(name, phone)
cursor.execute(sql)
result = cursor.fetchall()
connect.commit()
print("\n정보 변경이 완료되었습니다.")
전화번호가 '01000000000'인 학생의 이름을 'student1'로 변경한 뒤 조회해보겠습니다.
\Users\Project> python project02.py
***사용 가능 명령어 리스트***
a : 모든 데이터 조회(all)
f : 조건에 맞는 데이터만 조회(find)
i : 수강생 입력(insert)
d : 수강생 삭제(delete)
r : 정보 변경(revise)
q : 저장하고 나가기(quit)
command(명령어 입력): r
※ 정보를 변경할 수강생의 선택은 전화번호를 통해서만 가능합니다.
전화번호(숫자 11자리): 01000000000
-----------------------------------------------
이름 생년월일 소속 전화번호 거주지
-----------------------------------------------
test1 19900301 A 01000000000 서울
-----------------------------------------------
어떤 정보를 변경하시겠습니까(이름/생년월일/소속/전화번호/거주지)? 이름
해당 수강생의 이름을 무엇으로 수정하시겠습니까?
> student1
정보 변경이 완료되었습니다.
***사용 가능 명령어 리스트***
a : 모든 데이터 조회(all)
f : 조건에 맞는 데이터만 조회(find)
i : 수강생 입력(insert)
d : 수강생 삭제(delete)
r : 정보 변경(revise)
q : 저장하고 나가기(quit)
command(명령어 입력): f
무엇을 기준으로 검색하시겠습니까? (이름/나이/소속/전화번호/거주지)
> 전화번호
검색하실 전화번호을 입력해 주세요. (숫자만 입력 해 주세요.)
> 01000000000
-----------------------------------------------
이름 생년월일 소속 전화번호 거주지
-----------------------------------------------
student1 19900301 A 01000000000 서울
-----------------------------------------------
# 5-1-2. 변경 대상: 생년월일
elif con == '생년월일':
print("해당 수강생의 생년월일을 무엇으로 수정하시겠습니까? (숫자 8자리)")
birth = input("> ")
sql = "UPDATE student SET birth = '{}' where phone = '{}'".format(birth, phone)
cursor.execute(sql)
result = cursor.fetchall()
connect.commit()
print("\n정보 변경이 완료되었습니다.")
전화번호가 '01000000000'인 학생의 생년월일을 '20180101'로 변경한 뒤 조회해보겠습니다.
\Users\Project> python project02.py
***사용 가능 명령어 리스트***
a : 모든 데이터 조회(all)
f : 조건에 맞는 데이터만 조회(find)
i : 수강생 입력(insert)
d : 수강생 삭제(delete)
r : 정보 변경(revise)
q : 저장하고 나가기(quit)
command(명령어 입력): r
※ 정보를 변경할 수강생의 선택은 전화번호를 통해서만 가능합니다.
전화번호(숫자 11자리): 01000000000
-----------------------------------------------
이름 생년월일 소속 전화번호 거주지
-----------------------------------------------
student1 19900301 A 01000000000 서울
-----------------------------------------------
어떤 정보를 변경하시겠습니까(이름/생년월일/소속/전화번호/거주지)? 생년월일
해당 수강생의 생년월일을 무엇으로 수정하시겠습니까?
> 20180101
정보 변경이 완료되었습니다.
***사용 가능 명령어 리스트***
a : 모든 데이터 조회(all)
f : 조건에 맞는 데이터만 조회(find)
i : 수강생 입력(insert)
d : 수강생 삭제(delete)
r : 정보 변경(revise)
q : 저장하고 나가기(quit)
command(명령어 입력): f
무엇을 기준으로 검색하시겠습니까? (이름/나이/소속/전화번호/거주지)
> 나이
※ 숫자만 입력 해 주세요.
몇 살 이상을 검색하시겠습니까? 1
몇 살 이하을 검색하시겠습니까? 1
-----------------------------------------------
이름 생년월일 소속 전화번호 거주지
-----------------------------------------------
student1 20180101 A 01000000000 서울
-----------------------------------------------
# 5-1-3. 변경 대상: 소속
elif con == '소속':
print("\n해당 수강생의 소속을 무엇으로 수정하시겠습니까? (A/B/C)")
team = input("> ")
sql = "UPDATE student SET team = '{}' where phone = '{}'".format(team, phone)
cursor.execute(sql)
result = cursor.fetchall()
connect.commit()
print("\n정보 변경이 완료되었습니다.")
전화번호가 '01000000000'인 학생의 소속을 변경한 뒤 조회해보겠습니다.
\Users\Project> python project02.py
***사용 가능 명령어 리스트***
a : 모든 데이터 조회(all)
f : 조건에 맞는 데이터만 조회(find)
i : 수강생 입력(insert)
d : 수강생 삭제(delete)
r : 정보 변경(revise)
q : 저장하고 나가기(quit)
command(명령어 입력): r
※ 정보를 변경할 수강생의 선택은 전화번호를 통해서만 가능합니다.
전화번호(숫자 11자리): 01000000000
-----------------------------------------------
이름 생년월일 소속 전화번호 거주지
-----------------------------------------------
student1 20180101 A 01000000000 서울
-----------------------------------------------
어떤 정보를 변경하시겠습니까(이름/생년월일/소속/전화번호/거주지)? 소속
해당 수강생의 소속을 무엇으로 수정하시겠습니까? (A/B/C)
> B
정보 변경이 완료되었습니다.
***사용 가능 명령어 리스트***
a : 모든 데이터 조회(all)
f : 조건에 맞는 데이터만 조회(find)
i : 수강생 입력(insert)
d : 수강생 삭제(delete)
r : 정보 변경(revise)
q : 저장하고 나가기(quit)
command(명령어 입력): f
무엇을 기준으로 검색하시겠습니까? (이름/나이/소속/전화번호/거주지)
> 전화번호
검색하실 전화번호을 입력해 주세요. (숫자만 입력 해 주세요.)
> 01000000000
-----------------------------------------------
이름 생년월일 소속 전화번호 거주지
-----------------------------------------------
student1 20180101 B 01000000000 서울
-----------------------------------------------
# 5-1-4. 변경 대상: 전화번호
elif con == '전화번호':
print("\n해당 수강생의 전화번호를 무엇으로 수정하시겠습니까? (숫자 11자리)")
new_phone = input("> ")
sql = "UPDATE student SET phone = '{}' where phone = '{}'".format(new_phone, phone)
cursor.execute(sql)
result = cursor.fetchall()
connect.commit()
print("\n정보 변경이 완료되었습니다.")
전화번호가 '01000000000'인 학생의 전화번호를 '01012345678'로 변경한 뒤 조회해보겠습니다.
\Users\Project> python project02.py
***사용 가능 명령어 리스트***
a : 모든 데이터 조회(all)
f : 조건에 맞는 데이터만 조회(find)
i : 수강생 입력(insert)
d : 수강생 삭제(delete)
r : 정보 변경(revise)
q : 저장하고 나가기(quit)
command(명령어 입력): r
※ 정보를 변경할 수강생의 선택은 전화번호를 통해서만 가능합니다.
전화번호(숫자 11자리): 01000000000
-----------------------------------------------
이름 생년월일 소속 전화번호 거주지
-----------------------------------------------
student1 20180101 B 01000000000 서울
-----------------------------------------------
어떤 정보를 변경하시겠습니까(이름/생년월일/소속/전화번호/거주지)? 전화번호
해당 수강생의 전화번호를 무엇으로 수정하시겠습니까? (숫자 11자리)
> 01012345678
정보 변경이 완료되었습니다.
***사용 가능 명령어 리스트***
a : 모든 데이터 조회(all)
f : 조건에 맞는 데이터만 조회(find)
i : 수강생 입력(insert)
d : 수강생 삭제(delete)
r : 정보 변경(revise)
q : 저장하고 나가기(quit)
command(명령어 입력): f
무엇을 기준으로 검색하시겠습니까? (이름/나이/소속/전화번호/거주지)
> 이름
검색하실 수강생의 이름을 입력해 주세요.
> student1
-----------------------------------------------
이름 생년월일 소속 전화번호 거주지
-----------------------------------------------
student1 20180101 B 01012345678 서울
-----------------------------------------------
# 5-1-4. 변경 대상: 거주지
elif con == '거주지':
print("\n해당 수강생의 거주지를 어디로 수정하시겠습니까? ")
address = input("> ")
sql = "UPDATE student SET address = '{}' where phone = '{}'".format(address, phone)
cursor.execute(sql)
result = cursor.fetchall()
connect.commit()
print("\n정보 변경이 완료되었습니다.")
전화번호가 '01012345678'인 학생의 거주지를 '수원'으로 변경한 뒤 조회해보겠습니다.
\Users\Project> python project02.py
***사용 가능 명령어 리스트***
a : 모든 데이터 조회(all)
f : 조건에 맞는 데이터만 조회(find)
i : 수강생 입력(insert)
d : 수강생 삭제(delete)
r : 정보 변경(revise)
q : 저장하고 나가기(quit)
command(명령어 입력): r
※ 정보를 변경할 수강생의 선택은 전화번호를 통해서만 가능합니다.
전화번호(숫자 11자리): 01012345678
-----------------------------------------------
이름 생년월일 소속 전화번호 거주지
-----------------------------------------------
student1 20180101 B 01012345678 서울
-----------------------------------------------
어떤 정보를 변경하시겠습니까(이름/생년월일/소속/전화번호/거주지)? 거주지
해당 수강생의 거주지를 어디로 수정하시겠습니까?
> 수원
정보 변경이 완료되었습니다.
***사용 가능 명령어 리스트***
a : 모든 데이터 조회(all)
f : 조건에 맞는 데이터만 조회(find)
i : 수강생 입력(insert)
d : 수강생 삭제(delete)
r : 정보 변경(revise)
q : 저장하고 나가기(quit)
command(명령어 입력): f
무엇을 기준으로 검색하시겠습니까? (이름/나이/소속/전화번호/거주지)
> 거주지
검색하실 거주지를 입력해 주세요.
> 수원
-----------------------------------------------
이름 생년월일 소속 전화번호 거주지
-----------------------------------------------
student1 20180101 B 01012345678 수원
test3 19920523 B 01022222222 수원
-----------------------------------------------