import sqlite3 as s
# 1. DB 연결 및 설정
conn = s.connect("c:/sundo/AIPython/db/abc.db")
c = conn.cursor()
# 2. 테이블 초기화 (연습용)
c.execute("drop table if exists food")
c.execute("create table food(menu char(20), price int)")
# 3. 기초 데이터 삽입
c.execute("insert into food values('라면', 4000)")
c.execute("insert into food values('떡볶이', 3000)")
c.execute("insert into food values('김밥', 2000)")
c.execute("insert into food values('순대', 5000)")
conn.commit() # 변경사항 저장
# --- 함수 정의 ---
def out():
print("\n[ 현재 메뉴 목록 ]")
print("메뉴\t가격")
print("="*20)
# [중요] 출력할 때마다 DB에서 새로 조회해야 변경된 내용이 보입니다.
c.execute("select * from food")
k = c.fetchall()
for i in k:
print("{}\t{}".format(i[0], i[1]))
print("="*20 + "\n")
def insert():
addmenu = input("추가할 메뉴? ")
addprice = int(input("추가한 메뉴가격? "))
c.execute("insert into food values(?, ?)", (addmenu, addprice))
conn.commit() # 저장 필수
def delete():
out() # 목록을 먼저 보여줌
delmenu = input("삭제할 메뉴를 입력하세요: ")
# [중요] 삭제 쿼리: menu가 일치하는 행을 지웁니다.
c.execute("delete from food where menu = ?", (delmenu,))
conn.commit() # 저장 필수
def update():
out() # 목록을 먼저 보여줌
modmenu = input("가격을 수정할 메뉴 이름? ")
modprice = int(input("변경할 가격? "))
# [중요] 수정 쿼리: menu가 일치하는 행의 price를 업데이트합니다.
c.execute("update food set price = ? where menu = ?", (modprice, modmenu))
conn.commit() # 저장 필수
# --- 메인 실행 ---
# 프로그램 시작 시 현재 상태 한번 출력
out()
while True:
try:
nu = int(input("1.입력 2.출력 3.삭제 4.수정 0.종료 : "))
except ValueError:
print("숫자를 입력해주세요.")
continue
if nu == 2:
out()
elif nu == 1:
insert()
print("--> 메뉴가 등록되었습니다!")
elif nu == 3:
delete()
print("--> 메뉴가 삭제되었습니다!")
elif nu == 4:
update()
print("--> 가격이 수정되었습니다!")
elif nu == 0:
print("프로그램을 종료합니다.")
break
else:
print("잘못된 번호입니다.")
# 연결 종료
c.close()
conn.close()
'AI딥러닝 > Python' 카테고리의 다른 글
| 아나콘다로 시작하는 데이터 분석 - Jupyter (0) | 2026.01.22 |
|---|---|
| Import를 이용한 Main파일 실행 (0) | 2026.01.20 |
| Python 엑셀로 저장하기 (0) | 2026.01.20 |
| 명령어 1탄. 파이썬 실무에서 사용하는 (0) | 2026.01.20 |
| Python과 Python DB 설치하기 (0) | 2026.01.20 |