import MySQLdb
!pip install mysqlclient
class DTOA:
def __init__(self, number, name, gender, age, hp):
self.number = number
self.name = name
self.gender = gender
self.age = age
self.hp = hp
def setNumber(self, number):
self.number = number
def getNumber(self):
return self.number
def setName(self, name):
self.name = name
def getName(self):
return self.name
def setGender(self, gender):
self.gender = gender
def getGender(self):
return self.gender
def setAge(self, age):
self.age = age
def getAge(self):
return self.age
def setHp(self, hp):
self.hp = hp
def getHp(self):
return self.hp
import MySQLdb
class DAO:
def __init__(self):
self.db = None
#처리시 연결담당
def connect(self):
self.db = MySQLdb.connect('localhost', 'root', '1234', 'ecommerce')
#처리후 연결끊기
def disconnect(self):
self.db.close()
# student data를 입력한다.
def insert(self, it):
self.connect()
cur = self.db.cursor()
sql = "insert into STUDENT (number, name, gender, age, hp) values(%s,%s,%s,%s,%s)"
data = (it.getNumber(), it.getName(), it.getGender(), it.getAge(),it.getHp())
cur.execute(sql, data)
self.db.commit()
self.disconnect()
def selectAll(self):
self.connect()
cur = self.db.cursor()
sql = 'select number, name, gender, age, hp from STUDENT'
cur.execute(sql)
row = cur.fetchall()
self.disconnect()
return row
def search(self, number):
self.connect()
cur = self.db.cursor()
sql = 'select number, name, gender, age, hp from STUDENT where number=%s'
data = (number,)
cur.execute(sql, data)
row = cur.fetchone()
self.disconnect()
return row
def update(self, it):
self.connect()
cur = self.db.cursor()
sql = 'update STUDENT set name=%s, gender=%s, age=%s, hp=%s where number=%s'
data = (it.getName(), it.getGender(), it.getAge(), it.getHp(), it.getNumber())
result = cur.execute(sql, data)
self.db.commit()
if result > 0:
print('수정되었습니다')
else:
print('해당 학생이 없습니다.')
self.disconnect()
def delete(self, number):
self.connect()
cur = self.db.cursor()
sql = 'delete from STUDENT where number=%s'
data = (number,)
result = cur.execute(sql, data)
self.db.commit()
if result > 0:
print('삭제되었습니다.')
else:
print('해당 정보가 없습니다.')
class Service:
def __init__(self):
self.dao = DAO()
def insertData(self):
print('학생 정보를 등록합니다.')
number = input("학번을 입력하세요 : ")
name = input("이름를 입력하세요 : ")
gender = input("성별을 입력하세요 : ")
age = input("나이를 입력하세요 : ")
hp = input("연락처를 입력하세요 : ")
print("학생이 등록 되었습니다.")
it = DTOA(number, name, gender, age, hp)
it = self.dao.insert(it)
def printAll(self):
datas = self.dao.selectAll()
print(datas)
def editData(self):
number = input('수정할 사람의 학번을 입력하세요')
it = self.dao.search(number)
if it == None:
print('수정할 사람을 찾지 못했습니다')
else:
name = input('새로운 이름을 입력하세요 :')
gender = input('새로운 성별을 입력하세요 :')
age = input('새로운 나이를 입력하세요 :')
hp = input('새로운 연락처를 입력하세요 :')
A = DTOA(number, name, gender, age, hp)
it = self.dao.update(A)
def delData(self):
number = input('삭제할 학생의 학번을 입력하세요')
self.dao.delete(number)
class Menu:
def __init__(self):
self.service = Service()
def run(self):
while True:
try:
print('\n학생관리 프로그램\n')
menu = int(input(
'1.학생 정보 입력\n'
'2.학생 정보 출력\n'
'3.학생 정보 수정\n'
'4.학생 정보 삭제\n'))
if menu == 1:
self.service.insertData()
elif menu == 2:
self.service.printAll()
elif menu == 3:
self.service.editData()
elif menu == 4:
self.service.delData()
break
except Exception as e:
print(e)
print('다시 입력하세요')
start =Menu()
start.run()
댓글 영역