# 3-1. 기본 구조


본 프로그램은 데이터 조회, 입력, 삭제, 변경, 종료 등의 기능으로 구성되어 있습니다. 'while문'을 이용하여 종료 명령어가 입력되기 전까지는 계속 명령어를 입력 받도록 설계 했으며 명령어가 잘못 입력된 경우에는 안내 메세지가 출력되도록 하였습니다.

  

cmd = 'na'

while cmd != 'q':

print("")

print("***사용 가능 명령어 리스트***")

print("a  : 모든 데이터 조회(all)")

print("f  : 조건에 맞는 데이터만 조회(find)")

print("i  : 수강생 입력(insert)")

print("d  : 수강생 삭제(delete)")

print("r  : 정보 변경(revise)")

print("q  : 저장하고 나가기(quit)")

print("")

cmd = input("command(명령어 입력): ")

print("")

if cmd == 'a': <code>

elif cmd == 'f': <code>

elif cmd == 'i': <code>

elif cmd == 'd': <code>

elif cmd == 'r': <code>

elif cmd == 'q': <code>

else:

print("잘못된 명령어가 입력되었습니다. 다시 입력해 주세요.")


\Users\Project> python project02.py

***사용 가능 명령어 리스트***

a  : 모든 데이터 조회(all)

f  : 조건에 맞는 데이터만 조회(find)

i  : 수강생 입력(insert)

d  : 수강생 삭제(delete)

r  : 정보 변경(revise)

q  : 저장하고 나가기(quit)


command(명령어 입력):




# 3-2. 모든 수강생 조회(all)


if cmd == 'a':

sql = "SELECT * FROM student"

cursor.execute(sql)

result = cursor.fetchall()

print_result(result)


\Users\Project> python project02.py

***사용 가능 명령어 리스트***

a  : 모든 데이터 조회(all)

f  : 조건에 맞는 데이터만 조회(find)

i  : 수강생 입력(insert)

d  : 수강생 삭제(delete)

r  : 정보 변경(revise)

q  : 저장하고 나가기(quit)


command(명령어 입력): a


-----------------------------------------------

   이름     생년월일   소속   전화번호    거주지   

-----------------------------------------------

  test1    19900301    A   01000000000  서울

  test2    19910412    A   01011111111  인천

  test3    19920523    B   01022222222  수원

  test4    19930604    A   01033333333  대전

  test5    19940715    C   01044444444  부산

  test6    19950826    C   01055555555  대구

  test7    19960907    B   01066666666  서울

  test8    19971018    B   01077777777  인천

  test9    19981129    A   01088888888  대전

-----------------------------------------------


테이블의 모든 데이터를 출력하는 쿼리문을 전달한 뒤 결과를 result에 담아 출력하였습니다. 미리 입력해둔 테스트 데이터가 제대로 출력되었습니다. 참고로 출력 시에는 미리 제작해 놓은 'print_result()'를 호출하여 사용했습니다.


def print_result(result):

print("\n------------------------------------------------------------------------")

cnames = ['이름', '생년월일', '소속', '전화번호', '거주지']

for c in cnames:

print(c.center(11, ' '), end='\t')

print("\n------------------------------------------------------------------------")

ccodes = ['name', 'birth', 'team', 'phone', 'address']

forin result:

for c in ccodes:

print(str(r[c]).center(11, ' '), end='\t')

print("")

print("------------------------------------------------------------------------")





# 3-3. 조건에 맞는 데이터만 조회(find)


이름, 생년월일 등 각 칼럼에 따른 데이터를 조회할 수 있게 하기 위하여 'if문'을 이용하였으며, 전체적인 틀은 다음과 같습니다.


elif cmd == 'f':

print("무엇을 기준으로 검색하시겠습니까? (이름/나이/소속/전화번호/거주지)")

con = input("> ")

if con == '이름':

elif con == '나이':

elif con == '소속':

elif con == '전화번호':

elif con == '거주지':



# 3-3-1. 검색 기준: 이름


if con == '이름':

print("\n검색하실 수강생의 이름을 입력해 주세요.")

con2 = input("> ")

sql = "SELECT * FROM student WHERE name = '{}'".format(con2)

cursor.execute(sql)

result = cursor.fetchall()

print_result(result)


검색 대상을 'input'으로 입력받아 쿼리문을 완성되도록 했는데, 아래와 같이 제대로 검색이 되는 것을 확인할 수 있습니다.


\Users\Project> python project02.py

***사용 가능 명령어 리스트***

a  : 모든 데이터 조회(all)

f  : 조건에 맞는 데이터만 조회(find)

i  : 수강생 입력(insert)

d  : 수강생 삭제(delete)

r  : 정보 변경(revise)

q  : 저장하고 나가기(quit)


command(명령어 입력): f


무엇을 기준으로 검색하시겠습니까? (이름/나이/소속/전화번호/거주지)

> 이름

검색하실 수강생의 이름을 입력해 주세요.

> test1


-----------------------------------------------

   이름     생년월일   소속   전화번호    거주지

-----------------------------------------------

  test1    19900301    A   01000000000  서울

-----------------------------------------------



# 3-3-2. 검색 기준: 나이


elif con == '나이':

print("\n※ 숫자만 입력 해 주세요.\n")

input_age1 = int(input("몇 살 이상을 검색하시겠습니까? "))

input_age2 = int(input("몇 살 이하을 검색하시겠습니까? "))

import datetime, time

d = datetime.date.today()

year1 = d.year - input_age2 + 1

year2 = d.year - input_age1 + 1

sql = "SELECT * FROM student WHERE LEFT(birth, 4) BETWEEN {} AND {}".format(year1, year2)

cursor.execute(sql)

result = cursor.fetchall()

print_result(result)


저장된 데이터의 나이로 부터 생년월일(YYYYMMDD)을 추출하기 위해 오늘 자 년, 월, 일을 알려주는 'datetime'를 이용하였습니다. 추출된 연도 범위 안의 수강생을 출력하기 위해 'where'절에서 'left'를 이용하여 추출한 연도 4자리가 해당 범위에 속하는 학생만 선택될 수 있도록 하였습니다. 


\Users\Project> python project02.py

***사용 가능 명령어 리스트***

a  : 모든 데이터 조회(all)

f  : 조건에 맞는 데이터만 조회(find)

i  : 수강생 입력(insert)

d  : 수강생 삭제(delete)

r  : 정보 변경(revise)

q  : 저장하고 나가기(quit)


command(명령어 입력): f


무엇을 기준으로 검색하시겠습니까? (이름/나이/소속/전화번호/거주지)

> 나이


※ 숫자만 입력 해 주세요.


몇 살 이상을 검색하시겠습니까? 20

몇 살 이하을 검색하시겠습니까? 23


-----------------------------------------------

   이름     생년월일   소속   전화번호    거주지

-----------------------------------------------

  test7    19960907    B   01066666666  서울

  test8    19971018    B   01077777777  인천

  test9    19981129    A   01088888888  대전

-----------------------------------------------



# 3-3-3. 검색 기준: 소속


elif con == '소속':

print("\n검색하실 수강 그룹을 입력해 주세요. (A/B/C)")

con2 = input("> ")

sql = "SELECT * FROM student WHERE team = '{}'".format(con2)

cursor.execute(sql)

result = cursor.fetchall()

print_result(result)


저장된 데이터의 나이로 부터 생년월일(YYYYMMDD)을 추출하기 위해 오늘 자 년, 월, 일을 알려주는 'datetime'를 이용하였습니다. 추출된 연도 범위 안의 수강생을 출력하기 위해 'where'절에서 'left'를 이용하여 추출한 연도 4자리가 해당 범위에 속하는 학생만 선택될 수 있도록 하였습니다. 


\Users\Project> python project02.py

***사용 가능 명령어 리스트***

a  : 모든 데이터 조회(all)

f  : 조건에 맞는 데이터만 조회(find)

i  : 수강생 입력(insert)

d  : 수강생 삭제(delete)

r  : 정보 변경(revise)

q  : 저장하고 나가기(quit)


command(명령어 입력): f


무엇을 기준으로 검색하시겠습니까? (A/B/C)

> B


-----------------------------------------------

   이름     생년월일   소속   전화번호    거주지

-----------------------------------------------

  test3    19920523    B   01022222222  수원

  test7    19960907    B   01066666666  서울

  test8    19971018    B   01077777777  인천

-----------------------------------------------



# 3-3-4. 검색 기준: 전화번호


elif con == '전화번호':

print("\n검색하실 전화번호을 입력해 주세요. (숫자만 입력 해 주세요.)")

con2 = input("> ")

sql = "SELECT * FROM student WHERE phone = '{}'".format(con2)

cursor.execute(sql)

result = cursor.fetchall()

print_result(result)


\Users\Project> python project02.py

***사용 가능 명령어 리스트***

a  : 모든 데이터 조회(all)

f  : 조건에 맞는 데이터만 조회(find)

i  : 수강생 입력(insert)

d  : 수강생 삭제(delete)

r  : 정보 변경(revise)

q  : 저장하고 나가기(quit)


command(명령어 입력): f


무엇을 기준으로 검색하시겠습니까? (이름/나이/소속/전화번호/거주지)

> 전화번호


검색하실 전화번호을 입력해 주세요. (숫자만 입력 해 주세요.)

> 01055555555


-----------------------------------------------

   이름     생년월일   소속   전화번호    거주지

-----------------------------------------------

  test6    19950826    C   01055555555  대구

-----------------------------------------------



# 3-3-5. 검색 기준: 거주지


elif con == '거주지':

print("\n검색하실 거주지를 입력해 주세요.")

con2 = input("> ")

sql = "SELECT * FROM student WHERE address = '{}'".format(con2)

cursor.execute(sql)

result = cursor.fetchall()

print_result(result)


\Users\Project> python project02.py

***사용 가능 명령어 리스트***

a  : 모든 데이터 조회(all)

f  : 조건에 맞는 데이터만 조회(find)

i  : 수강생 입력(insert)

d  : 수강생 삭제(delete)

r  : 정보 변경(revise)

q  : 저장하고 나가기(quit)


command(명령어 입력): f


무엇을 기준으로 검색하시겠습니까? (이름/나이/소속/전화번호/거주지)

> 거주지


검색하실 거주지를 입력해 주세요.

> 서울


-----------------------------------------------

   이름     생년월일   소속   전화번호    거주지

-----------------------------------------------

  test1    19900301    A   01000000000  서울

  test7    19960907    B   01066666666  서울

-----------------------------------------------


# 4-1. 데이터 입력하기(insert)


elif cmd == 'i':

name = input("수강생 이름: ")

birth = input("생년월일(숫자 8자리): ")

team = input("소속 그룹(A/B/C): ")

phone = input("전화번호(숫자 11자리): ")

address = input("거주지: ")

sql = "INSERT INTO student VALUES('{}',{},'{}','{}','{}')".format(name, birth, team, phone, address)

cursor.execute(sql)

connect.commit()

print("해당 데이터의 입력이 완료되었습니다.")


입력 시 필요한 데이터를 'input'으로 받아 쿼리문을 완성, 전달했습니다. 이후 데이터 입력(insert) 후 DB 변동 사항을 저장하기 위하여 'connect.commit' 메소드를 사용했습니다.


***사용 가능 명령어 리스트***

a  : 모든 데이터 조회(all)

f  : 조건에 맞는 데이터만 조회(find)

i  : 수강생 입력(insert)

d  : 수강생 삭제(delete)

r  : 정보 변경(revise)

q  : 저장하고 나가기(quit)


command(명령어 입력): i


수강생 이름: test0

생년월일(숫자 8자리): 19991230

소속 그룹(A/B/C): C

전화번호(숫자 11자리): 01099999999

거주지: 대전

해당 데이터의 입력이 완료되었습니다.


파일을 실행시켜 명령어 'i'를 이용해 'test0'에 해당하는 데이터를 입력(insert)했습니다. 모든 데이터 조회를 실행하면 이전에는 없었던 데이터가 잘 들어가 있는 것을 확인할 수 있습니다.


***사용 가능 명령어 리스트***

a  : 모든 데이터 조회(all)

f  : 조건에 맞는 데이터만 조회(find)

i  : 수강생 입력(insert)

d  : 수강생 삭제(delete)

r  : 정보 변경(revise)

q  : 저장하고 나가기(quit)


command(명령어 입력): a


-----------------------------------------------

   이름     생년월일   소속   전화번호    거주지   

-----------------------------------------------

  test1    19900301    A   01000000000  서울

  test2    19910412    A   01011111111  인천

  test3    19920523    B   01022222222  수원

  test4    19930604    A   01033333333  대전

  test5    19940715    C   01044444444  부산

  test6    19950826    C   01055555555  대구

  test7    19960907    B   01066666666  서울

  test8    19971018    B   01077777777  인천

  test9    19981129    A   01088888888  대전

  test0    19991230    C   01099999999  대전

-----------------------------------------------




# 4-2. 데이터 삭제하기(delete)


elif cmd == 'i':

print("※ 수강생 삭제는 전화번호를 통해서만 가능합니다.")

phone = input("목록에서 삭제할 수강생의 전화번호(숫자 11자리): ")

sql = "DELETE FROM student WHERE phone = '{}')".format(phone)

cursor.execute(sql)

connect.commit()

print("해당 데이터의 삭제가 완료되었습니다.")


삭제 시 필요한 데이터를 'input'으로 받아 쿼리문을 완성, 전달했습니다. 이름, 생년월일처럼 중복된 값이 들어올 가능성이 없는 전화번호를 KEY로 사용하였습니다. 또한 데이터 입력(insert)과 마찬가지로 DB 변동 사항을 저장하기 위하여 'connect.commit' 메소드를 사용했습니다.


***사용 가능 명령어 리스트***

a  : 모든 데이터 조회(all)

f  : 조건에 맞는 데이터만 조회(find)

i  : 수강생 입력(insert)

d  : 수강생 삭제(delete)

r  : 정보 변경(revise)

q  : 저장하고 나가기(quit)


command(명령어 입력): d


※ 수강생 삭제는 전화번호를 통해서만 가능합니다.

목록에서 삭제할 수강생의 전화번호(숫자 11자리): 01099999999

해당 데이터의 삭제가 완료되었습니다.


파일을 실행시켜 명령어 'd'를 이용해 위해서 추가한 데이터를 제거(delete)했습니다. 모든 데이터 조회를 실행하면 생성되었던 데이터가 사라진 것을 확인할 수 있습니다.


***사용 가능 명령어 리스트***

a  : 모든 데이터 조회(all)

f  : 조건에 맞는 데이터만 조회(find)

i  : 수강생 입력(insert)

d  : 수강생 삭제(delete)

r  : 정보 변경(revise)

q  : 저장하고 나가기(quit)


command(명령어 입력): a


-----------------------------------------------

   이름     생년월일   소속   전화번호    거주지   

-----------------------------------------------

  test1    19900301    A   01000000000  서울

  test2    19910412    A   01011111111  인천

  test3    19920523    B   01022222222  수원

  test4    19930604    A   01033333333  대전

  test5    19940715    C   01044444444  부산

  test6    19950826    C   01055555555  대구

  test7    19960907    B   01066666666  서울

  test8    19971018    B   01077777777  인천

  test9    19981129    A   01088888888  대전

-----------------------------------------------


# 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  수원

-----------------------------------------------


+ Recent posts