SQL 최종 - 아이디 알고리즘 (DMCCONET)

hoegon kim·2022년 10월 24일

Python

목록 보기
7/18
post-thumbnail

실행 이미지

회원가입

회원 가입후 회원목록

로그인

회원정보 수정

회원정보 수정후 회원목록

회원탈퇴

회원탈퇴 후 회원목록

불러온 데이터

MemV01.txt

orange,1234,오렌지,orange@test.com,043,우송대
red,1234,장미,red@test.com,062,전남대
yellow,1234, 개나리, yellow@test.com,062,전남대
green,1234,소나무,green@test.com,043,우송대
blue,1234,바다,blue@test.com,062,전남대

코드시작

import cx_Oracle

#사용 리스트
menu    = ['1.회원가입', '2.로그인', '3.회원목록','4.정보수정','5.회원탈퇴', '9.메뉴종료']
itemList = ['ID', 'PWD', 'NAME', 'EMAIL', 'PHONE', 'ADDRESS']
menuChk = ['1','2','3','4','5','9']

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

#타이틀
def Title(arg):
	print(f'\n{"메뉴선택":=^91}\n')
	for x in arg:
		print(x, end="	")
	print("")
	print("")
	print('='*95)	

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

# 회원목록  ==3
def mlist(arg):
	connection = cx_Oracle.connect(user="hr", password="hr", dsn="localhost:1521/XE")
	cursor = connection.cursor()
	cursor.execute("""SELECT *FROM memberT01""")
	print("="*95)
	for x in arg:
		print('{:^15}'.format(x), end =" ")
	print()
	print("="*95)
	for y in cursor :
		print(f'{y[0]:^10}\t{y[1]:^10}\t{y[2]:^10}\t{y[3]:^10}\t{y[4]:^10}\t{y[5]:^10}') 

	connection.commit()
	cursor.close()
	connection.close()

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

# 로그인 ==2
def Log():
	connection = cx_Oracle.connect(user="hr", password="hr", dsn="localhost:1521/XE")
	cursor = connection.cursor()
	input_id = input('{:^60}	:	'.format(itemList[0]))
	input_pwd = input('{:^60}	:	'.format(itemList[1]))
	cursor.execute("""SELECT mem_id, mem_pwd FROM memberT01
	WHERE mem_id = :i and mem_pwd = :p""",
	i = input_id, p = input_pwd)
	row = cursor.fetchone()
	if row is None:
		print(f'\n{"*** ID 또는 패스워드를 확인해주세요 ***":^88}')
		return
	else:
		print('\n					*** {0}님 환영합니다. ***'.format(input_id))
	connection.commit()
	cursor.close()
	connection.close()

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

# 회원가입 ==1     # 회원가입시 아이디가 있으면 회원가입 불가 코드 
def newM():
	connection = cx_Oracle.connect(user="hr", password="hr", dsn="localhost:1521/XE")
	cursor = connection.cursor()
	new_id = input('{:^60}	:	'.format(itemList[0]))
	new_pwd = input('{:^60}	:	'.format(itemList[1]))
	new_name = input('{:^60}	:	'.format(itemList[2]))
	new_email = input('{:^60}	:	'.format(itemList[3]))
	new_phone = input('{:^60}	:	'.format(itemList[4]))
	new_addr = input('{:^60}	:	'.format(itemList[5]))	
	cursor.execute("""INSERT INTO memberT01
	VALUES(:id1,:pwd1,:name1,:email1,:phone1,:addr1)""",
	id1 = new_id,pwd1 = new_pwd,name1 = new_name ,email1 = new_email ,phone1 = new_phone,addr1 = new_addr)		
	connection.commit()
	cursor.close()
	connection.close()

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

# 회원탈퇴 ==5
def delM():
	connection = cx_Oracle.connect(user="hr", password="hr", dsn="localhost:1521/XE")
	cursor = connection.cursor()
	input_id = input('{:^60}	:	'.format(itemList[0]))
	input_pwd = input('{:^60}	:	'.format(itemList[1]))
	cursor.execute("""SELECT mem_id, mem_pwd FROM memberT01
	WHERE mem_id = :i and mem_pwd = :p""",
	i = input_id, p = input_pwd)
	row = cursor.fetchone()
	if row is None:
		print(f'\n{"*** ID 또는 패스워드를 확인해주세요 ***":^88}')
		return
	else:
		print('\n		*** {0}님 회원탈퇴를 진행하겠습니다. ***'.format(input_id))
    
	del_id = input('{:^60}	:	'.format(itemList[0]))
	del_pwd = input('{:^60}	:	'.format(itemList[1]))
	cursor.execute("""DELETE FROM memberT01
	WHERE mem_id = :q and mem_pwd = :w""",
	q = del_id, w = del_pwd)
	print(f'\n{"*** 정상적으로 회원 탈퇴되셨습니다. ***":^88}')   # 만약이게 아닐때 어떻게 해야될까?
	connection.commit()
	cursor.close()
	connection.close()

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

# 회원수정 ==4
def upd():
	connection = cx_Oracle.connect(user="hr", password="hr", dsn="localhost:1521/XE")
	cursor = connection.cursor()
	print(f'\n{"*** 본인인증을 확인 하겠습니다 ID 와 비밀번호를 입력해주세요 ***":^88}')
	print("")
	input_id = input('{:^60}	:	'.format(itemList[0]))
	input_pwd = input('{:^60}	:	'.format(itemList[1]))
	cursor.execute("""SELECT mem_id, mem_pwd FROM memberT01
	WHERE mem_id = :i and mem_pwd = :p""",
	i = input_id, p = input_pwd)
	row = cursor.fetchone()
	if row is None:
		print(f'\n{"*** ID 또는 패스워드를 확인해주세요 ***":^88}')
		return
	else:
		print('\n		*** {0}님 회원수정를 진행하겠습니다. ***'.format(input_id))
	upd_id = input('{:^60}	:	'.format(itemList[0]))
	upd_pwd = input('{:^60}	:	'.format(itemList[1]))
	upd_name = input('{:^60}	:	'.format(itemList[2]))
	upd_email = input('{:^60}	:	'.format(itemList[3]))
	upd_phone = input('{:^60}	:	'.format(itemList[4]))
	upd_addr = input('{:^60}	:	'.format(itemList[5]))	
	cursor.execute("""UPDATE MEMBERT01
	SET MEM_NAME = :u_name, MEM_PWD =:u_pwd, MEM_EMAIL = :u_email, MEM_PHONE = :u_phone, MEM_ADDR = :u_addr
	WHERE MEM_ID = :u_id""",
	u_id =upd_id, u_pwd = upd_pwd, u_name = upd_name, u_email = upd_email, u_phone = upd_phone, u_addr = upd_addr)
	print(f'\n{"*** 회원정보가 수정되었습니다. ***":^88}')

	connection.commit()
	cursor.close()
	connection.close()

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

#코드 시작
while True:
	Title(menu)
	Mchoice = input('\n{:^40}'.format("메뉴의 번호를 입력해주세요:"))
	print()

	if Mchoice in menuChk:
		if Mchoice == '1':
			print(f'{"SignUp  !":^96}\n')
			newM()
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

		elif Mchoice == '2':
			print(f'{"LogIn  !":^96}\n')
			Log()

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

		elif Mchoice == '3':
			print(f'{"MemberList  !":^95}\n')
			print("")
			mlist(itemList)

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

		elif Mchoice == '4':
			print(f'{"Modify  !":^95}\n')
			print("")
			upd()

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

		elif Mchoice == '5':
			print(f'{"DELETE Chk  !":^96}\n')
			print("")
			delM()

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		
		elif Mchoice == '9':
			print("")
			print(f'{"시스템을 종료 합니다":^88}')
			exit()
		else:
			print(f'{"잘못된 번호입니다":^88}.')

0개의 댓글