진도 | 기본 미션 | 선택 미션 | |
---|---|---|---|
6주차 | |||
(8/14 ~ 8/20) | Chapter 07 ~ 08 | p. 363 market_db의 고객 테이블(member)에 입력된 회원의 정보가 변경될 때 변경한 사용자, 시간, 변경 전의 데이터 등을 기록하는 트리거 작성하고 인증하기 | p. 402 GUI응용 프로그램 만들고 인증하기 |
update singer set addr = '영국' where mem_id = 'BLK' ;
delete from singer where mem_number >= 7;
결과 확인
select * from backup_singer ;
테이블 모든 행 데이터 삭제
truncate table singer ;
select * from backup_singer ;
import pymysql
from tkinter import *
from tkinter import messagebox
## 메인 코드부
def insertData() :
con, cur = None, None
data1, data2, data3, data4 = "", "", "", ""
sql=""
conn = pymysql.connect(host='127.0.0.1', user='root', password='0000', db='soloDB', charset='utf8')
cur = conn.cursor()
data1 = edt1.get(); data2 = edt2.get(); data3 = edt3.get(); data4 = edt4.get()
sql = "INSERT INTO userTable VALUES('" + data1 + "','" + data2 + "','" + data3 + "'," + data4 + ")"
cur.execute(sql)
conn.commit()
conn.close()
messagebox.showinfo('성공', '데이터 입력 성공')
def selectData() :
strData1, strData2, strData3, strData4 = [], [], [], []
conn = pymysql.connect(host='127.0.0.1', user='root', password='0000', db='soloDB', charset='utf8')
cur = conn.cursor()
cur.execute("SELECT * FROM userTable")
strData1.append("사용자 ID"); strData2.append("사용자 이름")
strData3.append("사용자 이메일"); strData4.append("사용자 출생연도")
strData1.append("-----------"); strData2.append("-----------")
strData3.append("-----------"); strData4.append("-----------")
while (True) :
row = cur.fetchone()
if row== None :
break;
strData1.append(row[0]); strData2.append(row[1])
strData3.append(row[2]); strData4.append(row[3])
listData1.delete(0,listData1.size() - 1); listData2.delete(0,listData2.size() - 1)
listData3.delete(0,listData3.size() - 1); listData4.delete(0,listData4.size() - 1)
for item1, item2, item3, item4 in zip(strData1, strData2, strData3, strData4 ):
listData1.insert(END, item1); listData2.insert(END, item2)
listData3.insert(END, item3); listData4.insert(END, item4)
conn.close()
## 메인 코드부
root = Tk()
root.geometry("600x300")
root.title("완전한 GUI 응용 프로그램")
edtFrame = Frame(root);
edtFrame.pack()
listFrame = Frame(root)
listFrame.pack(side = BOTTOM,fill=BOTH, expand=1)
edt1= Entry(edtFrame, width=10); edt1.pack(side=LEFT,padx=10,pady=10)
edt2= Entry(edtFrame, width=10); edt2.pack(side=LEFT,padx=10,pady=10)
edt3= Entry(edtFrame, width=10); edt3.pack(side=LEFT,padx=10,pady=10)
edt4= Entry(edtFrame, width=10); edt4.pack(side=LEFT,padx=10,pady=10)
btnInsert = Button(edtFrame, text="입력", command = insertData)
btnInsert.pack(side=LEFT,padx=10,pady=10)
btnSelect = Button(edtFrame, text="조회", command =selectData )
btnSelect.pack(side=LEFT,padx=10,pady=10)
listData1 = Listbox(listFrame,bg = 'yellow');
listData1.pack(side=LEFT,fill=BOTH, expand=1)
listData2 = Listbox(listFrame,bg = 'yellow')
listData2.pack(side=LEFT,fill=BOTH, expand=1)
listData3 = Listbox(listFrame,bg = 'yellow')
listData3.pack(side=LEFT,fill=BOTH, expand=1)
listData4 = Listbox(listFrame,bg = 'yellow')
listData4.pack(side=LEFT,fill=BOTH, expand=1)
root.mainloop()
실행 결과 →